首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HyperLoglog弹簧键操作

HyperLoglog弹簧键操作
EN

Stack Overflow用户
提问于 2018-09-23 10:37:39
回答 1查看 169关注 0票数 0

我有下面的代码片段来测试是否可以在Redis中添加HLL值,这个测试通过,但是当我从redis命令行验证它时,我没有看到"HLLTEST“键,而是发现了奇怪的键,正如您可以从下面的输出中看到的那样。HyperLogLogOperations的使用有什么问题吗,

代码语言:javascript
复制
@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

代码语言:javascript
复制
redis:6379> keys *
 1) "\xac\xed\x00\x05t\x00\x0cHLLTEST:1010"
redis:6379> pfcount HLLTEST:1010
(integer) 0

RedisConf

代码语言:javascript
复制
 @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;
   }
EN

回答 1

Stack Overflow用户

发布于 2018-09-23 16:06:15

我忘了放钥匙串行器了。将其设置为下列工作方式之后,

代码语言:javascript
复制
  @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;
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52465272

复制
相关文章

相似问题

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