一、通用命令
二、String
String是redis中用的最多的数据结构,大多数情景可以使用String解决
String中又将值分为三类:字符串、整数、浮点数,为什么可以对String进行这三种分类呢?
因为String底层是用byte[]实现的,通过不同的编码方式形成不同的类型
常见指令
- set、get相关
- incr相关
- SETNX、SETEX
三、Hash
操作类型
可以把hash看作多个String的map,String的key相当于hash的field,操作也主要是对field的set、get、incre、setnx,但是比String类型多了两个操作:keys、vals
四、List
操作类型
上面说了List是一个双端队列,那么它的操作就是从左进队、从右进队、从左出队、从右出队、所有元素集合、list长度、指定索引范围得到数据,特殊的是,Redis的List有两个特殊方法BLPOP和BRPOP,当出队时若没有元素不直接返回nil,而是等待指定时间,若该时间内没有元素进队,则返回nil
五、Set
操作类型
和java中的set一样,一般当我们拿到元素时再对set进行操作,对set进行添加、删除、判断是否存在。若我们想从set中取出元素,只能得到set的所有元素,再遍历它们拿到自己想要的,此外,set可以用来求并集、交集、差集,如果有这样的业务场景可以考虑用set(该场景若要求按某顺序则可以用SortedSet)
六、SortedSet
操作类型
set有的操作它也有,此外,它可以根据“分数”进行一系列操作:
- ** 已知元素,求该元素的排名**
- 取出某个分段范围内的元素(顺序或逆序排列)
- 取出某个排名范围的元素(顺序或逆序)
- 统计在某个分段内的元素个数