开发者社区> 问答> 正文

redis操作hash set,每次都插入乱码空键,什么原因?

1
这个是查看到的数据,每次插入hash的时候都会出现最后一个乱码key,并且value是空

public void setHashVal(final String key , final Map<String, String> map){
        redisTemplate.execute(new RedisCallback<Object>() {
            @Override
            public Object doInRedis(RedisConnection connection)
                    throws DataAccessException {
                byte[] param = redisTemplate.getStringSerializer().serialize(key);
                if(connection.exists(param)){
                    connection.del(param);
                }
                BoundHashOperations<Serializable, byte[], byte[]> boundHashOperations = redisTemplate.boundHashOps(param);
                Set<String> keySet = map.keySet();
                for (String mapKey : keySet) {
                    boundHashOperations.put(redisTemplate.getStringSerializer().serialize(mapKey),
                            redisTemplate.getStringSerializer().serialize(mapKey));
                }
                connection.hMSet(param, boundHashOperations.entries());  
                return null;
            }
        });
    }

这个是插入的代码,帮忙看看哪里会问题。或者是什么原因造成的

展开
收起
落地花开啦 2016-02-26 16:50:07 4536 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    在redis-cli 里面执行monitor ,之后再执行会产生乱码的代码,看下控制台的输出。
    也有可能是字符编码的问题

    2019-07-17 18:48:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis在唯品会的应用实践——架构演进与功能定制 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载