gpt4 book ai didi

java - HyperLoglog Spring 按键操作

转载 作者:可可西里 更新时间:2023-11-01 11:24:16 25 4
gpt4 key购买 nike

我有以下代码片段来测试我是否可以在 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 命令行

redis:6379> keys *
1) "\xac\xed\x00\x05t\x00\x0cHLLTEST:1010"
redis:6379> pfcount HLLTEST:1010
(integer) 0

Redis session

 @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;
}

最佳答案

我忘记分配 key 序列化程序。如下设置后就可以了,

  @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;
}

关于java - HyperLoglog Spring 按键操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52465272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com