Redis 数据类型之set/sorted set

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 本文目录1. 集合类型 set2. 有序集合 sorted set

1. 集合类型 set

集合类型是唯一、无序元素的集合。例如一个班级内的学号,不允许重复。常用操作有:


1、sadd 添加一个集合元素


127.0.0.1:6379> sadd nums "001"

(integer) 1

127.0.0.1:6379> sadd nums "002"

(integer) 1


2、scard 获取集合中元素数量


127.0.0.1:6379> scard nums

(integer) 2


3、sismember 测试元素是否存在于集合


127.0.0.1:6379> sismember nums "001"

(integer) 1

127.0.0.1:6379> sismember nums "003"

(integer) 0


4、srem 删除元素


127.0.0.1:6379> srem nums "001"

(integer) 1

127.0.0.1:6379> srem nums "003"

(integer) 0


5、smembers 列举所有元素


127.0.0.1:6379> srem nums "001"

(integer) 1

127.0.0.1:6379> srem nums "003"

(integer) 0


2. 有序集合 sorted set

有序集合为集合中的元素添加了权重,有序集合按该权重进行自动排序。例如学生数学考试成绩:


1、zadd 添加元素,其中100与90即为得分权重


127.0.0.1:6379> zadd math 100 "zhangsan"

(integer) 1

127.0.0.1:6379> zadd math 90 "lisi"

(integer) 1


2、zrevrange 获取有序集合排序


127.0.0.1:6379> zrevrange math 0 1 withscores

1) "zhangsan"

2) "100"

3) "lisi"

4) "90"


3、zrevrank 获取特定元素排名


127.0.0.1:6379> zrevrank math zhangsan

(integer) 0

127.0.0.1:6379> zrevrank math lisi

(integer) 1


4、zscore 获取特定元素权重


127.0.0.1:6379> zscore math zhangsan

"100"


5、zincrby 修改元素权重


127.0.0.1:6379> zincrby math 5 lisi

"95"

相关文章
|
1月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
156 1
|
4月前
|
存储 NoSQL 定位技术
Redis数据类型面试给分情况
Redis常见数据类型包括:string、hash、list、set、zset(有序集合)。此外还包含高级结构如bitmap、hyperloglog、geo。不同场景可选用合适类型,如库存用string,对象存hash,列表用list,去重场景用set,排行用zset,签到用bitmap,统计访问量用hyperloglog,地理位置用geo。
123 5
|
4月前
|
NoSQL Java Redis
Redis基本数据类型及Spring Data Redis应用
Redis 是开源高性能键值对数据库,支持 String、Hash、List、Set、Sorted Set 等数据结构,适用于缓存、消息队列、排行榜等场景。具备高性能、原子操作及丰富功能,是分布式系统核心组件。
548 2
|
6月前
|
存储 缓存 NoSQL
Redis中的常用命令-get&set&keys&exists&expire&ttl&type的详细解析
总的来说,这些Redis命令提供了处理存储在内存中的键值对的便捷方式。通过理解和运用它们,你可以更有效地在Redis中操作数据,使其更好地服务于你的应用。
447 17
|
11月前
|
存储 缓存 NoSQL
解决Redis缓存数据类型丢失问题
解决Redis缓存数据类型丢失问题
439 85
|
8月前
|
NoSQL Redis
Redis的常用数据类型有哪些 ?
Redis 有 5 种基础数据结构,它们分别是:string(字符串)、list(列表)、hash(字典)、set(集 合) 和 zset(有序集合)
|
11月前
|
存储 NoSQL Redis
redis常见数据类型
Redis 是一种基于内存的键值存储数据库,支持字符串、哈希表、列表、集合及有序集合等多种数据类型,每种类型均有特定用途与适用场景,提供丰富的命令操作,适用于高速数据访问与处理。
203 5
|
4月前
|
存储 缓存 JavaScript
Set和Map有什么区别?
Set和Map有什么区别?
382 1
|
1月前
|
存储 算法 容器
set_map的实现+set/map加持秒杀高频算法题锻炼算法思维
`set`基于红黑树实现,支持有序存储、自动去重,增删查效率为O(logN)。通过仿函数可自定义排序规则,配合空间配置器灵活管理内存。不支持修改元素值,迭代器失效需注意。`multiset`允许重复元素。常用于去重、排序及查找场景。
|
5月前
|
存储 JavaScript 前端开发
for...of循环在遍历Set和Map时的注意事项有哪些?
for...of循环在遍历Set和Map时的注意事项有哪些?
313 121