虽然 redis 的命令有很多,但是,我们细心观察还是可以看到一些规律

redis 的数据类型有五种:string/list/set/orderset/hash

然后有一些共性就是:

list

对于 list ,需要知道是一个双向队列,这里有两个关键词:双向队列

队列有两个奇葩方法:

set

对于 set,这是一个无重复元素的集合 因为是集合,所以应该有:card / ismember 增删查分别是:add/rem/pop/members

然后还有集合的一些运算:交集、并集、差集 inter、union、diff 同时还支持这些操作的结果放到其他集合 interstore/unionstore/diffstore

比较独特的方法有:

orderset

这是一个由 score 排序的集合,既不完全是集合,又有点列表的意思。 因为带 score,但和 score 直接相关的操作只有一个:

因为是有顺序的,所以和顺序相关的操作较多,分别有:

毕竟还是集合,还是有集合相关的操作的,但也就两个

hash

hash 其实就是值可以为键值对,和 string 区别不是很大,其实可以理解为在 string 的类型上再键值对一次,所以操作值的方式不再是简单的 set、get 了,而且 set、get 的含义也有些改变

批量操作

因为是 二次哈希,所以很多在其他类型上的操作在 hash 上都有一些新的诠释:

other hash 解释
incrby hincrby 将指定hash中 field 的值增加指定数量
exists hexists 名称为 key 的函数是否存在键 field
del hdel 删除指定 hash 中的键为 field 的域
llen hlen 指定 hash 中的元素个数
keys hkeys 指定 hash 中的所有键

还有一些独特的:

持久化的指令

连接相关的命令

一些重要的未提到的命令

备注

还有很多类似 事务、发布/订阅 之类的命令因为比较单一,对比分析的重要性不高,所以直接参考 cheat-sheet 即可。