我有下面的代码片段来测试是否可以在Redis中添加HLL值,这个测试通过,但是当我从redis命令行验证它时,我没有看到"HLLTEST“键,而是发现了奇怪的键,正如您可以从下面的输出中看到的那样。HyperLogLogOperations的使用有什么问题吗,
@Test
public void whenHllRecord_thenCount() throws Exception {
hyperLogLogOperations = redisTemplate.opsForHyperLogLog();
hyperLogLogOperations.add("HLLTEST:1010", 1);
hyperLogLogOperations.add("HLLTEST:1010",2);
long size = hyperLogLogOperations.size("HLLTEST:1010");
assertEquals("Size: "+size, size, 2);
}Redis-Command-Line
redis:6379> keys *
1) "\xac\xed\x00\x05t\x00\x0cHLLTEST:1010"
redis:6379> pfcount HLLTEST:1010
(integer) 0RedisConf
@Bean
public RedisTemplate<String, Object> redisTemplate() {
final RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
template.setConnectionFactory(jedisConnectionFactory());
template.setValueSerializer(new GenericToStringSerializer<Object>(Object.class));
return template;
}发布于 2018-09-23 16:06:15
我忘了放钥匙串行器了。将其设置为下列工作方式之后,
@Bean
public RedisTemplate<String, Object> redisTemplate() {
final RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
template.setConnectionFactory(jedisConnectionFactory());
//template.setValueSerializer(new GenericToStringSerializer<Object>(Object.class));
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new StringRedisSerializer());
return template;
}https://stackoverflow.com/questions/52465272
复制相似问题