redis数据操作之set、zset

  1. 创建set(set是无序的)

sadd key value1 value2
sadd xxx 1 a d 2 3 f

  1. 获取set中的元素

smembers key
smembers xxx
set是无序的,因此获取到的元素顺序和添加的顺序不一致在这里插入图片描述

  1. 删除元素

srem key value
srem xxx a 1
在这里插入图片描述

  1. 创建zset(有序的)

zadd key score value score的大小决定了排列顺序
zadd name 2 laozhang 3 laowang 7 laoli 5 laoliu 1 laozhao
在这里插入图片描述

  1. 获取zset元素
  1. 通过索引获取
    zrange key start stop
    zrange name 0 -1
  2. 获取两个score值之间的元素
    zrangebyscore key score score
  3. 获取元素的score
    zscore key value
    zscore name laoliu
    在这里插入图片描述
  1. 删除元素
  1. 删除指定元素
    zrem key value1 value2
    zrem name laozhao laoli
    在这里插入图片描述
  2. 删除指定范围score值的元素
    zremrangebyscore key min max
    zremrangebyscore name 2 5
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Redis中的zset是有序集合,而set是无序集合。 在zset中,每个元素都有一个score字段,通过score和index来进行排序。zset的实现是使用了两种数据结构,分别是跳跃表和字典。跳跃表用于实现元素的有序排列,而字典用于实现元素的唯一性。zset的插入、删除和查找操作的时间复杂度都是O(logN)。 而set是一个无序的字符串集合,集合中的元素不可重复。在set中,元素的插入、删除和查找操作的时间复杂度都是O(1)。set的底层实现是通过哈希表来存储元素,类似于Java中的Hashtable集合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [9. redis 数据结构-setzset](https://blog.csdn.net/wojiuguowei/article/details/81866600)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Redis学习笔记(九)---Redis数据类型之SetZset](https://blog.csdn.net/TheWindOfSon/article/details/104169173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值