命令作用
LPUSH 将一个或多个值推入列表左端
RPUSH 将一个或多个值推入列表右端
LPOP 移除并返回列表最左端的值
RPOP 移除并返回列表最右端的值
LINDEX 根据索引获取LIST中的值
LRANGE 获取LIST中索引在指定范围内的值
LTRIM 从LIST中删除索引不在指定范围内的值,这里的索引范围是闭区间
命令作用
HSET 向HASH表中添加元素,由上图可以看出HASH结构中存储的值也是一个键值对(field value)
HMSET 一次向HASH表中写入多个键值对
HGET 获取HASH中存储的值
HMGET 一次从HASH中获取多个值
HLEN 获取HASH表中存储的元素个数
HDEL 删除HASH表中的键值对
HEXISTS 判断HASH中是否包含指定field的键值对
HKEYS 获取HASH中的所有键(field)
HVALS 获取HASH中的所有值
HGETALL 获取HASH中的所有键值对
HINCRBY 将HASH中的指定value增加指定的数值
命令作用
SADD 向SET中添加元素
SREM 移除SET中的元素
SISMEMBER 判断某元素是否存在于SET中
SCARD 返回SET中的元素个数
SMEMBERS 返回SET中的所有元素
SSCAN 通过迭代的方式返回SET中的所有元素
SMOVE 将元素从某一集(如果该元素存在当前集合中)合移动到另一集合并返回当前元素
集合间运算
命令作用
SDIFF 对SET集合进行补集运算(存在于第一个集合且不存在于第二个集合中的元素)并返回运算结果
SDIFFSTORE 对SET集合进行补集运算并将运算结果存储到一个新的SET集合中
SINTER 对SET集合进行交集运算并返回运算结果
SINTERSTORE 对SET集合进行交集运算并将运算结果存储到一个新的SET集合中
SUNION 对SET集合进行并集运算并返回运算结果
SUNIONSTORE 对SET集合进行并集运算并将运算结果存储到一个新的SET集合中
命令作用
ZADD 向ZSET中添加元素
ZREM 移除ZSET中的元素
ZCARD 获取ZSET中元素的个数
ZSCORE 获取ZSET中元素的score值
ZRANK 获取ZSET中元素的索引
ZREMRANGEBYRANK 从ZSET中移除指定索引范围内的元素
ZREMRANGEBYSCORE 从ZSET中移除指定score范围内的元素
ZCOUNT 获取ZSET中score值在指定范围内元素的个数
ZRANGE 获取ZSET中索引在指定范围内的元素,ZRANGE key start stop,参数start=0且stop=-1时返回所有元素
集合间运算
命令作用
ZINTERSTORE 对ZSET集合进行交集运算并将运算结果存储到一个新的ZSET集合中
ZUNIONSTORE 对ZSET集合进行并集运算并将运算结果存储到一个新的ZSET集合中
集合运算对于value值相同的集合元素score值的处理分为三种方式:
执行ZINTERSTORE命令(ZUNIONSTORE与之类似):
参数WEIGHTS表示权重,该参数比较复杂:
参数WEIGHTS的个数和numkyes值相等
AGGREGATE值为SUM时,对于结果集中的某个value为a的元素B,参与运算的各个集合中value为a的元素的score值会分别和对应的WEIGHTS值相乘然后再将各自相乘结果相加作为结果集中元素B的score值
AGGREGATE值为MIN或MAX时,对于结果集中的某个value为a的元素B,参与运算的各个集合中value为a的元素中score值最小或最大的那个(若有多个,则按照命令行中指定集合的顺序自左向右取第一个符合条件的集合中的元素)和对应的WEIGHTS值相乘得到的值作为结果集中元素B的score值
规则略复杂,自己动手写几遍就会明白了。ZINTERSTORE命令执行效果图:
以下为进行集合运算的示意图:
以对score求和的方式进行交集运算
以取score中最小值的方式进行并集运算