使用spring-data-redis往redis中添加数据,按照官方文档要求注入redistemplate模板,
@Autowired
private RedisTemplate<String, String> redisTemplate = null;
此时调用不会有问题,
public void put(String key, String hashKey, String value) {
redisTemplate.opsForHash().put(key, hashKey, value);
}
可是当我改变类型时就会发现传到redis中的key乱码了。
@Autowired
private RedisTemplate<String, Integer> redisTemplate = null;
Byte[] bytes = Str.getBytes("ISO8859-1");//""里面的参数为需要转化的编码,一般是ISO8859-1
String str = new String(bytes,"utf-8");//转化为utf-8编码
http://bbs.csdn.net/topics/390388949?page=1
你做key的字符串最好都统一用UTF8等编码格式。所以插入前都进行一下转换
private RedisTemplate redisTemplate;
@Autowired(required = false)
public void setRedisTemplate(RedisTemplate redisTemplate) {
RedisSerializer stringSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringSerializer);
redisTemplate.setHashKeySerializer(stringSerializer);
this.redisTemplate = redisTemplate;
}