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这两种数据结构的使用。有兴趣,可以一起来学习学习。下一篇,再写点不一样的内容。

相关推荐
这个DBA有点耶9 小时前
MySQL 8.0.20移除了Block Nested Loop,之前学的JOIN优化知识还适用吗?
数据库·mysql·架构
吉甫作诵10 小时前
Redis 常用命令大全:11 大类命令速查手册
运维·数据库·redis·缓存·nosql
2501_9336707910 小时前
库存管理分析岗校招能力模型:SQL、库存周转、补货预测怎么准备
数据库
属于自己的天空10 小时前
不用再手动查表结构了:配好 MCP,Claude Code 自己读数据库生成代码
数据库·后端
Y38153266211 小时前
SERP 数据清洗实战:字段标准化、日期解析与去重键
开发语言·数据库·python·python数据库
hweiyu0011 小时前
Redis命令:MGET
redis·缓存
Databend11 小时前
Databend 原生数据血缘:追溯指标来源,检查变更影响
大数据·数据库·sql
镜舟科技11 小时前
Semantic View 技术解析(二):业务口径如何进入数据库执行路径
数据库·sql·agent
あ-11 小时前
Redis 常见问题及解决方案
redis
TechWJ12 小时前
没有公网 IP 也想远程连 PostgreSQL?从本地数据库到固定 TCP 地址完整配置
大数据·数据库·网络安全·postgresql·内网穿透