我正在尝试使用redis位图保存在线用户,使用命令“bitcount onlineUser”来计算在线用户的数量。我使用RedisTemplate处理redis。但是我在RedisTemplate中找不到任何API来执行命令“bitcount”。如何在Java中执行命令“bitcount”呢?我们将提供任何帮助。
@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().;
}
最佳答案
您可以使用RedisTemplate的“execute”方法,例如:
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);
}
});
}
关于java - 如何在Java中使用Redis命令 “bitcount”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60409641/