【Redis】三、五大基本类型-list set

Redis中的list和set结构

一、list基本操作

单键多值:
列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部(左边)或者尾部(右边),底层是一个双向链表

  1. lpush/rpush:从左边/右边插入一个或多个值
lpush k1 v1 v2 v3
  1. lpop/rpop:从左边/右边取一个值(值光键亡)
lpop k1
  1. rpoplpush:从一个list的右边复制到另一个list的左边
rpoplpush k1 k2

二、list底层存储结构

List的数据结构为quickList
如果是列表中元素较少的时候,会使用一块连续的内存存储,这个结构是ziplist即压缩列表。
当元素较多时,将多个压缩列表加上指针首尾相连构成quicklist,不直接使用quicklist是因为指针太多会浪费空间。
在这里插入图片描述

三、Set基本操作

set是可以自动排重的,且是无序的。
底层就是一个value为null的哈希表,添加删除查找复杂度都是O(1)。

  1. sadd:添加元素到集合key中
sadd k4 v1 v2 v3
  1. smembers: 取出该集合中的所有值
smembers k4
  1. sismember: 判断是否有对应的值
sismember k4 v1

存在就返回1,不存在返回0

  1. scard: 返回元素个数
scard k4
  1. srem: 删除集合中的元素
srem k4 v1 v2
  1. spop:随机从集合中取出一个值
spop k4

未完待续吧,太多了。。。。

四、Set底层储存结构

set的底层数据结构是dict(字典),其底层的数据结构是用哈希表实现的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值