首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java中使用Redis命令bitcount

如何在java中使用Redis命令bitcount
EN

Stack Overflow用户
提问于 2020-02-26 16:28:05
回答 2查看 178关注 0票数 1

我正在尝试使用redis位图来保存在线用户,使用"bitcount onlineUser“命令来统计在线用户的数量。我使用RedisTemplate来处理redis。但是我在RedisTemplate中找不到任何接口来执行"bitcount“命令。如何在java中执行”bitcount“命令呢?如果有任何帮助,我将不胜感激。

代码语言:javascript
复制
 @Override
    public Boolean saveOnlineUser(Long userId) {
        ValueOperations<String,Object> ops = redisTemplate.opsForValue();
        return ops.setBit("onlineUser",userId,true);
    }

    @Override
    public Integer getOnlineUser() {
        //I want to use Redis command "bitcount 'onlineUser'" here to count the number of online users
        return redisTemplate.opsForValue().;
    }
EN

回答 2

Stack Overflow用户

发布于 2020-09-02 09:50:10

您可以使用RedisTemplate的execute方法,例如:

代码语言:javascript
复制
public Long bitcount(final String key, final long start, final long end) {
    return redisTemplate.execute(new RedisCallback<Long>() {

        @Override
        public Long doInRedis(RedisConnection redisConnection) throws DataAccessException {

            return redisConnection.bitCount(key.getBytes(), start, end);
        }
    });
}
票数 0
EN

Stack Overflow用户

发布于 2021-11-24 05:17:13

如果你使用的是spring,你可以像下面这样使用bitCount操作。

代码语言:javascript
复制
redisTemplate.execute { connection ->
        connection.stringCommands().bitCount(key.toByteArray())
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60409641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档