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

相关推荐
陈丹阳(滁州学院)15 分钟前
若依添加添加监听容器配置(删除键,键过期)
数据库·oracle
远方16091 小时前
14-Oracle 23ai Vector Search 向量索引和混合索引-实操
数据库·ai·oracle
GUIQU.2 小时前
【Oracle】数据仓库
数据库·oracle
恰薯条的屑海鸥3 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习
咖啡啡不加糖3 小时前
Redis大key产生、排查与优化实践
java·数据库·redis·后端·缓存
曼汐 .3 小时前
数据库管理与高可用-MySQL高可用
数据库·mysql
MickeyCV3 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
2301_793102493 小时前
Linux——MySql数据库
linux·数据库
喵叔哟3 小时前
第4章:Cypher查询语言基础
数据库
刘 大 望3 小时前
数据库-联合查询(内连接外连接),子查询,合并查询
java·数据库·sql·mysql