官网可以看到redis支持这么多语言
java中有:标出来的就是常用的俩种,其中redisson功能十分强大
但是spring也对Redis封装了。Spring Data Redis ,响应式没学过先不用
spring把redis按照操作的redis数据类型分为了好几个对象,只需要使用redistemplate的opsForxxx方法获取这些对象,然后就能进行队对应数据的操作了.
获取对象的方法和对应的操作的redis类型
java获取对象的方法方法 | redis类型 |
opsForValue | 字符串 |
opsForHsah | 哈希类型 hash : map格式 |
opsForList | 列表类型 list : linkedlist格式。支持重复元素 |
opsForSet | 集合类型 set : 不允许重复元素 |
opsForZset | 有序集合类型 sortedset:不允许重复元素,且元素有顺序 |
可以直接调用方法了
通用命令就在redisTemplate对象里
还可以获取操作对应类型的对象是指定key,就可以不用每次在方法里传key了,对应的方法如下
RedisTemplate的泛型
RedisTemplate<K, V> ,spring的redis k和v不仅可以保存string,还可以保存其他任意类型,spring会自动帮我们把他转化为字节写入redis。底层默认用jdk的序列化。序列化的内容可读性差,性能较差
解决:1.改序列化方式
2.直接存String(泛型使用string),他就不会序列化了
而且好像spring也没给我们注入其他泛型的redintemplate对象
基于上面的泛型问题,spring有提供了一个类
public class StringRedisTemplate extends RedisTemplate<String, String> 他使用了自己的序列化工具,序列化后可读性好所以这个类用的多,spring页帮助我们自动注入了