redis初步认识(二)

文章目录

概述

这篇写下剩下的2个基本数据结构(set, zset)。

Set

简介

集合,为了描述它的特征,这个是无序集合;集合的特征是唯一,集合中的元素唯一存在。

基础命令

bash 复制代码
# 添加一个或多个指定的member元素到集合的 key中
SADD key member [member ...]
 # 计算集合元素个数
SCARD key       
# SMEMBERS key
 SMEMBERS key        
# 返回成员 member 是否是存储的集合 key的成员
SISMEMBER key member
 # 随机返回key集合中的一个或者多个元素,不删除这些元素
SRANDMEMBER key [count]
 # 从存储在key的集合中移除并返回一个或多个随机元素
SPOP key [count]
 # 返回一个集合与给定集合的差集的元素
SDIFF key [key ...]
 # 返回指定所有的集合的成员的交集
SINTER key [key ...]
 # 返回给定的多个集合的并集中的所有成员
SUNION key [key ...]

大概吧,有这么几个,还是一样的思路,可以去官网的地方查查看。这些命令。

存储结构

元素都为整数且节点数量少时,使用整数数组存储;否则使用字典存储;

应用

这种应用挺多的,聊一个吧,比如稍微熟悉点的,朋友圈2个好友共同关注。

bash 复制代码
sadd follow:A a b c d e
sadd follow:C a b c
sinter follow:A follow:C

ZSET

上边的是无序集合,接下来写写有序集合的。zset。
有序集合:它的特征是有序唯一的集合;通常用来实现排行榜。

基础命令

bash 复制代码
# 添加到键为key有序集合(sorted set)里面
ZADD key [NX|XX] [CH] [INCR] score member [score member ...] 
# 从键为key有序集合中删除 member 的键值对
ZREM key member [member ...] 
# 返回有序集key中,成员member的score值
ZSCORE key member 
# 为有序集key的成员member的score值加上增量increment
 ZINCRBY key increment member
 # 返回key的有序集元素个数
ZCARD key 
# 返回有序集key中成员member的排名
ZRANK key member 
# 返回存储在有序集合key中的指定范围的元素   order by id limit 1,100
 ZRANGE key start stop [WITHSCORES] 
# 返回有序集合key中,分数在min和max之间的所有元素(且包含min和max); limit 指定从第几个开始返回多少个元素
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

注意:有序集合比较规则,先通过比较 score 来确定排序,如果 score 相同则比较 member;
member 比较规则是按照字母顺序来进行比较;

存储结构

节点数量少且字符串长度小时使用压缩列表存储;否则使用跳表来进行存储;

小结

好了,这篇就写这么多吧,主要是写了set和zset这两种数据结构的使用。有兴趣,可以一起来学习学习。下一篇,再写点不一样的内容。

相关推荐
Nturmoils7 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波11 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
用户3169353811834 天前
Java连接Redis
redis
倔强的石头_4 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab5 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence5 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神5 天前
三、用户与权限管理
数据库·mysql
小小工匠6 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
麦聪聊数据6 天前
数据服务化时代:企业数据能力输出的核心路径
数据库