1. 问题
在使用RedisTemplate 保存Set类型的数据时候出现保存的key和value被序列化了,
public long sSet(String key, String... values) { try { return redisTemplate.opsForSet().add(key, values); } catch (Exception e) { LOGGER.error("异常={}", e); return 0; } }
例如期望存入的key是 ai_dcs:gray🏫set,结果存入的
smembers"\xac\xed\x00\x05t\x00\x16ai_dcs:gray🏫set"
1)“\xac\xed\x00\x05t\x00\x131010000001000000004”
2)“\xac\xed\x00\x05t\x00\x131110000001000000660”
key被序列化了,value也被序列化了
解决办法
换成stringRedisTemplate 之后在不会出现类似 这样的 \xac\xed\x00\x05t 的序列化符号
public long sSet(String key, String... values) { try { return stringRedisTemplate.opsForSet().add(key, values); } catch (Exception e) { LOGGER.error("异常={}", e); return 0; } }