1.使用name
库设置alex
密钥Spring data redis
。
@Test
public void testOne() throws Exception {
redisTemplate.opsForValue().set("name","alex");
}
2.尝试使用redis-cli
从终端获取名称,但获取Nil
127.0.0.1:6379> get name
(nil)
3.但alex
可以像这样检索
Object hello = redisTemplate.opsForValue().get("name");
System.out.println(hello);
-----
alex
任何人都可以解释一下,谢谢!
答案 0 :(得分:1)
RedisTemplate
会根据配置的RedisSerializer
转换键和值(请参阅6.7 Serializers)。默认值为JdkSerializationRedisSerializer
。
给定字符串name
,redis中的实际键如下:
GenericJackson2JsonRedisSerializer : "name"
JacksonJsonRedisSerializer: : "name"
Jackson2JsonRedisSerializer: : "name"
JdkSerializationRedisSerializer : \xac\xed\x00\x05t\x00\x04name
OxmSerializer with XStreamMarshaller: <string>name</string>
StringRedisSerializer : name
因此,如果您打算使用字符串,convenience classes StringRedisTemplate
可能是一个不错的选择。
答案 1 :(得分:0)
尝试使用"
围绕密钥:
127.0.0.1:6379> get "name"