Redis——List & Set & Hash相关命令
redis中的 list 可当成栈、队列、阻塞队列。命令以 l 开头。
插入值到列表的头部(左边)和尾部(右边)。允许插入重复值。(list也允许使用lset等方式赋值,但前提是list存在)
lpush list v1
lpush list v2
lpush list v3
此时查看列表所有值,则得到一个从左往右倒序的列表。因为lpush总是从列表的左侧插入:
lrange list 0 -1: "v3" "v2" "v1"
若想往列表右侧插入,那么使用rpush即可:
rpush list v0
再次遍历列表,得到:
"v3" "v2" "v1" "v0"
从头、尾删除元素
Lpop list //移除头部元素(左侧) Rpop list //移除尾部元素(右侧)
删除指定元素,注意这里的 n ,当n带的符号不一样时,其含义也不一样:
lrem list n value //删除列表中从头部往尾部数出现的前n个值为value的元素 lrem list -n value //删除列表中从尾部往头部数最后出现的n个值为value的元素 lrem list 0 value //删除列表中所有值为value的元素
截取指定子列表。当start > end 时,直接将列表变成空表,当end > Llen时,默认将end改为尾部元素
ltrim list 0 2 //表示截取list从头到尾前3个元素
根据下标获取list中的某一个值
Lindex list index
获取列表的长度
Llen list
移除列表中末尾元素,并将其移动到新的列表中,组合命令
rpoplpush oldlist newlist //oldlist的末尾会少一个元素,并生成新的newlist,里面的元素就是lodlist之前的末尾元素
#####################################################################################################################
set :无序不可重复集合。命令一般以 s 开头
创建一个set,赋值
madd key value
查看某个set中所有值
smembers
判断某个值是否在set中存在
SISMEMBER set
获取set中的元素个数
scard
移除set中指定元素
srem
获取指定个随机数,count默认1
SRANDMEMBER set count
随机移除元素
spop
将source set中指定的值移动到terget这个set中
smove source terget value
set中的数学集合属性:
差集,查看两个set中不同的元素:sdiff set1 set2
交际,两个set共同拥有的元素(共同关注、好友等):SINTER set1 set2
并集,两个set去除重复后所有的元素,并:SUNION set1 set2
####################################################################################################################
Hash 哈希类型,是一个map集合。本质和String没有太大区别
新增hash和字段,可使用hmset批量设置。value值可变
hset hash field value
hmset hash field1 value field2 value2 ……
获取某个hash字段的值,可使用hmget批量获取
hget hash field field2 field3
hmget hash field field2 field3……
获取hash中所有的key-value
hgetall hash
删除hash中的某个key-value
hdel hash
获取hash长度(字段数量)
hlen hash
判断hash中指定字段是否存在
HEXISTS hash
只获取hash中的key或者只获取value
hkeys hash
hvals hash
应用:redis中的hash可用于存储变更的数据。用户信息等,适合对象存储
Zset 等数据结构略
本文来自博客园,作者:我永远喜欢石原里美,转载请注明原文链接:https://www.cnblogs.com/yuan-zhou/p/15877266.html

浙公网安备 33010602011771号