Hash
Hash是什么? redis的文档解释是
Redis hashes look exactly how one might expect a “hash” to look, with field-value pairs:
实际是一种散列集合结构,结构也如下:
{key} {domain1} {value1} {domain 2} {value2} … {domain n} {valuen}
HMSET key field value [field value …]
同时将多个 field-value (域-值)对设置到哈希表 key 中。
此命令会覆盖哈希表中已存在的域。
如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作。
HSET key field value
将哈希表 key 中的域 field 的值设为 value 。
如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。
如果域 field 已经存在于哈希表中,旧值将被覆盖。
HSETNX key field value
上述版本的不覆盖set版本 如果存在返回为false
HGET key field
HMGET key field [field …]
返回哈希表 key 中,一个或多个给定域的值。
如果给定的域不存在于哈希表,那么返回一个 nil 值。
HSET key field value
将哈希表 key 中的域 field 的值设为 value 。
如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。
如果域 field 已经存在于哈希表中,旧值将被覆盖。
HGETALL key
返回哈希表 key 中,所有的域和值。
在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大
小的两倍。
HINCRBY key field increment
为哈希表 key 中的域 field 的值加上增量 increment 。
增量也可以为负数,相当于对给定域进行减法操作。
如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。
如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。
HINCRBYFLOAT key field increment
上面命令的float版本
HINCRBY、HINCRBYFLOAT
上面命令的增加指定增量版本
HLEN key
返回哈希表 key 中域的数量。
HKEYS key/HVALS key
返回哈希表 key 中的所有域/值。
List
是一种线性的集合结构,支持常见的push/pop等操作
LPOP/LPUSH
弹入弹出
BLPOP/BLPUSH
阻塞版弹出/弹入原语
可以在最后加入超时时间
BRPOP/BRPOP
弹出List尾部元素,在尾部弹入
LINDEX key index
返回列表 key 中,下标为 index 的元素。
下标
LINSERT key BEFORE|AFTER pivot value
将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。
当 pivot 不存在于列表 key 时,不执行任何操作。
当 key 不存在时, key 被视为空列表,不执行任何操作。
如果 key 不是列表类型,返回一个错误。
LRANGE key start stop
返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。
LREM key count value
根据参数 count 的值,移除列表中与参数 value 相等的元素。
LSET key index value
将列表 key 下标为 index 的元素的值设置为 value 。
当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。
LTRIM key start stop
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的
元素都将被删除。
SET
Redis Sets are unordered collections of strings. The SADD command adds new elements to a set. It’s also possible to do a number of other operations against sets like testing if a given element already exists, performing the intersection, union or difference between multiple sets, and so forth.
SADD key member [member …]
将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽
略。
SCARD key
集合中元素的数量。
SDIFF key [key …]
返回一个集合的全部成员,该集合是所有给定集合之间的差(补)集。
不存在的 key 被视为空集。
SDIFFSTORE destination key [key …]
上一个命令的保留到destination集合的版本
SINTER key [key …]
返回一个集合的全部成员,该集合是所有给定集合的交集。
不存在的 key 被视为空集。
当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。.
SINTERSTORE destination key [key …]
上一个命令的保留到destination集合的版本
SUNION key [key …]
返回一个集合的全部成员,该集合是所有给定集合的并集。
不存在的 key 被视为空集。
SUNIONSTORE destination key [key …]
上一个命令的保留到destination集合的版本
SISMEMBER key member
判断 member 元素是否集合 key 的成员。
SMEMBERS key
返回集合 key 中的所有成员。
不存在的 key 被视为空集合。
SMOVE source destination member
将 member 元素从 source 集合移动到 destination 集合。
SRANDMEMBER key [count]
如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。
SPOP key
移除并返回集合中的一个随机元素。
如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用
SRANDMEMBER 命令。
SREM key member [member …]
移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。
当 key 不是集合类型,返回一个错误。
有序集合 SortedSet
有序集合是一种带Socore的集合,可以根据score进行一些排序,查找工作。
ZADD key score member [[score member] [score member] …]
将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新
插入这个 member 元素,来保证该 member 在正确的位置上。
ZCARD key
返回有序集 key 的基数。
ZCOUNT key min max
返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或
max )的成员的数量。
ZINCRBY key increment member
为有序集 key 的成员 member 的 score 值加上增量 increment 。
ZRANGE key start stop [WITHSCORES]
返回有序集 key 中,指定区间内的成员。
其中成员的位置按 score 值递增(从小到大)来排序。
具有相同 score 值的成员按字典序( lexicographical order )来排列。
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成
员。有序集成员按 score 值递增(从小到大)次序排列。
ZRANK key member
返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序
排列。
ZREM key member [member …]
移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。
当 key 存在但不是有序集类型时,返回错误。
ZREMRANGEBYRANK key start stop
移除有序集 key 中,指定排名(rank)区间内的所有成员。
区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。
ZREMRANGEBYSCORE key min max
移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成
员。
ZREVRANGE key start stop [WITHSCORES]
返回有序集 key 中,指定区间内的成员。
其中成员的位置按 score 值递减(从大到小)来排列。具有相同 score 值的成员按字典序的
逆序( reverse lexicographical order)排列。
ZSCORE key member
返回有序集 key 中,成员 member 的 score 值。
如果 member 元素不是有序集 key 的成员,或 key 不存在,返回 nil 。
ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]]
[AGGREGATE SUM|MIN|MAX]
计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并
将该并集(结果集)储存到 destination 。
ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]]
[AGGREGATE SUM|MIN|MAX]
计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并
将该交集(结果集)储存到 destination 。