之前在某地市进行开发时,布撤控处(下面简称A端)RedisTemplate将匹配字段放在redis,java的代码(下面简称B端)用来匹配redis的信息输出预警结果,用的是jedis api.在接入的redis的配置都一样的情况下,发生了A端数据可存入redis,且可查询到。但是B端检查不到存入的数据。
解决方案:后面修复结果是,A端使用StringRedisTemplate代替RedisTemplate,即解决。
反思:虽然StringRedisTemplate继承自RedisTemplate,但是两者的数据是不共通的,而且使用的序列化的方法不同。
StringRedisTemplate默认使用string的序列化策略,保存的key和value都是采用此策略序列化保存的
RedisTemplate默认使用的是jdk的序列化策略,保存key和value都是采用此策略序列化保存的。
所以,当你的redis数据库里面本来存的是字符串数据或者你要存取的数据就是字符串类型数据的时候,就使用StringRedisTemplate即可。