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 等数据结构略

 

posted @ 2022-02-09 22:47  我永远喜欢石原里美  阅读(146)  评论(0)    收藏  举报