当前位置:网站首页>第四章:redis 数组结构的set和一些通用命令「建议收藏」
第四章:redis 数组结构的set和一些通用命令「建议收藏」
2022-08-05 10:04:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
存储set ,set不允许有重复元素;
设置 获取元素:
127.0.0.1:6379> sadd set1 a b c
(integer) 3
127.0.0.1:6379> SMEMBERS set1
1) "a"
2) "c"
3) "b"插入相同元素只保留一个:
127.0.0.1:6379> sadd set1 a e f
(integer) 2
127.0.0.1:6379> smembers set1
1) "a"
2) "e"
3) "c"
4) "b"
5) "f"删除多个元素:
127.0.0.1:6379> SMEMBERS set1
1) "c"
2) "b"
3) "e"
4) "f"
127.0.0.1:6379> serm set1 c f
(error) ERR unknown command 'serm'
127.0.0.1:6379> srem set1 c f
(integer) 2
127.0.0.1:6379> SMEMBERS set1
1) "e"
2) "b"simember key 判断某个元素是否存在,返回1为存在,返回0 为不存在
127.0.0.1:6379> SMEMBERS set1
1) "e"
2) "b"
127.0.0.1:6379> SMEMBERS key e
(error) ERR wrong number of arguments for 'smembers' command
127.0.0.1:6379> SISMEMBER key e
(integer) 0
127.0.0.1:6379> SISMEMBER set1 e
(integer) 1
127.0.0.1:6379> SISMEMBER set1 r
(integer) 0sdiff以前面的集合为参考,计算差集:
127.0.0.1:6379> sadd set2 b c d e
(integer) 4
127.0.0.1:6379> SMEMBERS set2
1) "d"
2) "e"
3) "c"
4) "b"
127.0.0.1:6379> SMEMBERS set1
1) "e"
2) "b"
127.0.0.1:6379> SDIFF set2 set3
1) "d"
2) "e"
3) "b"
4) "c"
127.0.0.1:6379> SDIFF set3 set2
(empty list or set)
127.0.0.1:6379> SDIFF set2 set1
1) "d"
2) "c"sinter计算交集 sunion 计算并集:
127.0.0.1:6379> SMEMBERS set1
1) "e"
2) "b"
127.0.0.1:6379> SMEMBERS set2
1) "d"
2) "e"
3) "c"
4) "b"
127.0.0.1:6379> SINTER set1 set2
1) "e"
2) "b"
127.0.0.1:6379> SUNION set1 set2
1) "d"
2) "e"
3) "c"
4) "b"scard计算元素总数:
127.0.0.1:6379> SCARD set1
(integer) 2
127.0.0.1:6379> SMEMBERS set1
1) "e"
2) "b"srandmember随机取一个或多个数:
127.0.0.1:6379> SMEMBERS set2
1) "d"
2) "e"
3) "c"
4) "b"
127.0.0.1:6379> SRANDMEMBER set2
"e"
127.0.0.1:6379> SRANDMEMBER set2 2
1) "d"
2) "c"sdiffstore把差集结果存储到一个新的集合中
127.0.0.1:6379> SMEMBERS set2
1) "d"
2) "e"
3) "c"
4) "b"
127.0.0.1:6379> SMEMBERS set1
1) "e"
2) "b"
127.0.0.1:6379> SDIFFSTORE r set1 set2
(integer) 0
127.0.0.1:6379> SDIFFSTORE r set2 set1
(integer) 2
127.0.0.1:6379> SMEMBERS r
1) "d"
2) "c"sunionstore把交集结果存储到一个新的集合中:
127.0.0.1:6379> SUNIONSTORE r2 set1 set2
(integer) 4
127.0.0.1:6379> SMEMBERS r2
1) "d"
2) "e"
3) "c"
4) "b"下面我们说说sorted-set有序排序的数据结构,也就是集合元素是有序排列的:
zadd 添加元素,这里我们以成绩和姓名为例,这里按成绩的从小到高排列的:
127.0.0.1:6379> zadd sort2 2 xiaoming 3 xiaohua 1 xiaohong
(integer) 3
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaoming"
3) "xiaohua"zadd添加元素,有则更新,无则添加,也就是没有重复的值:
127.0.0.1:6379> zadd sort2 2 xiaoming 3 xiaohua 1 xiaohong
(integer) 3
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaoming"
3) "xiaohua"
127.0.0.1:6379> ZADD sort2 6 xiaoming
(integer) 0
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaohua"
3) "xiaoming"
127.0.0.1:6379> zadd sort2 4 xiaoliang
(integer) 1
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaohua"
3) "xiaoliang"
4) "xiaoming"zrem删除元素:
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaohua"
3) "xiaoliang"
4) "xiaoming"
127.0.0.1:6379> zrem sort2 xiaohua
(integer) 1
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaoliang"
3) "xiaoming"zcard查看元素个数:
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaoliang"
3) "xiaoming"
127.0.0.1:6379> ZCARD sort2
(integer) 3把分数和姓名都显示出来:
127.0.0.1:6379> ZRANGE sort2 0 -1 withscores
1) "xiaohong"
2) "1"
3) "xiaoliang"
4) "4"
5) "xiaoming"
6) "6"zrevrange降序排列:
127.0.0.1:6379> ZREVRANGE sort2 0 -1 withscores
1) "xiaoming"
2) "6"
3) "xiaoliang"
4) "4"
5) "xiaohong"
6) "1"新增两个元素,根据排名删除元素,这里删除前三个:
127.0.0.1:6379> ZADD sort2 2 xiaohuang
(integer) 1
127.0.0.1:6379> ZADD sort2 3 xiaozi
(integer) 1
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaohuang"
3) "xiaozi"
4) "xiaoliang"
5) "xiaoming"
127.0.0.1:6379> ZREMRANGEBYRANK sort2 0 2
(integer) 3
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaoliang"
2) "xiaoming"zremrangebyscore 根据具体分数范围删除元素:
127.0.0.1:6379> ZRANGE sort2 0 -1 withscores
1) "xiaohong"
2) "1"
3) "xiaohuang"
4) "2"
5) "xiaozi"
6) "3"
7) "xiaoliang"
8) "4"
9) "xiaoming"
10) "6"
127.0.0.1:6379> ZREMRANGEBYscore sort2 2 5
(integer) 3
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaoming"再增加元素,然后根据分数范围查找:
127.0.0.1:6379> zadd sort2 2 xiaohuang 3 xiaozi 4 xiaoliang
(integer) 3
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohong"
2) "xiaohuang"
3) "xiaozi"
4) "xiaoliang"
5) "xiaoming"
127.0.0.1:6379> ZRANGEBYSCORE sort2 2 5
1) "xiaohuang"
2) "xiaozi"
3) "xiaoliang"limit类似分页查找:
127.0.0.1:6379> ZRANGE sort2 0 -1 withscores
1) "xiaohong"
2) "1"
3) "xiaohuang"
4) "2"
5) "xiaozi"
6) "3"
7) "xiaoliang"
8) "4"
9) "xiaoming"
10) "6"
127.0.0.1:6379> ZRANGEBYSCORE sort2 0 9 limit 0 2
1) "xiaohong"
2) "xiaohuang"
127.0.0.1:6379> ZRANGEBYSCORE sort2 0 9 withscores limit 0 2
1) "xiaohong"
2) "1"
3) "xiaohuang"
4) "2"zincrby加分:
127.0.0.1:6379> ZINCRBY sort2 10 xiaohong
"11"
127.0.0.1:6379> ZRANGE sort2 0 -1
1) "xiaohuang"
2) "xiaozi"
3) "xiaoliang"
4) "xiaoming"
5) "xiaohong"
127.0.0.1:6379> ZRANGE sort2 0 -1 withscores
1) "xiaohuang"
2) "2"
3) "xiaozi"
4) "3"
5) "xiaoliang"
6) "4"
7) "xiaoming"
8) "6"
9) "xiaohong"
10) "11"zcount计算某个评分范围内的个数:
127.0.0.1:6379> ZRANGE sort2 0 -1 withscores
1) "xiaohuang"
2) "2"
3) "xiaozi"
4) "3"
5) "xiaoliang"
6) "4"
7) "xiaoming"
8) "6"
9) "xiaohong"
10) "11"
127.0.0.1:6379> ZCOUNT sort2 0 20
(integer) 5redis的一些通用操作:
关键字查找key:
127.0.0.1:6379> keys s*
1) "sort2"
2) "set2"
3) "set1"
4) "sort"
5) "sort1"查找s开头,后面只跟一个字符的key:
127.0.0.1:6379> set s1 aa
OK
127.0.0.1:6379> key s*
(error) ERR unknown command 'key'
127.0.0.1:6379> keys s?
1) "s1"del删除元素:
127.0.0.1:6379> del sort s1
(integer) 2
127.0.0.1:6379> keys s*
1) "sort2"
2) "set2"
3) "set1"
4) "sort1"rename重命名:
127.0.0.1:6379> set s2 ss
OK
127.0.0.1:6379> rename s2 s3
OK
127.0.0.1:6379> get s3
"ss"expire设置有效时间,单位是秒:
127.0.0.1:6379> EXPIRE s3 12
(integer) 1
127.0.0.1:6379> s3 ttl
(error) ERR unknown command 's3'
127.0.0.1:6379> ttl s3
(integer) -2
127.0.0.1:6379> get s3
(nil)type查看数据类型:
127.0.0.1:6379> type sort2
zset
127.0.0.1:6379> type name
string
127.0.0.1:6379> type l1
list发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106132.html原文链接:https://javaforall.cn
边栏推荐
- 无题八
- three物体围绕一周呈球形排列
- How does the official account operate and maintain?Public account operation and maintenance professional team
- 力扣(LeetCode)216. 组合总和 III(2022.08.04)
- 无题十
- 项目成本控制如何帮助项目成功?
- three.js debugging tool dat.gui use
- Development common manual link sharing
- 气象数据数据处理实例——matlab字符串切割匹配与R语言日期匹配(数据拼接)
- Custom filters and interceptors implement ThreadLocal thread closure
猜你喜欢

Seata source code analysis: initialization process of TM RM client

mysql进阶(二十七)数据库索引原理

Pytorch Deep Learning Quick Start Tutorial -- Mound Tutorial Notes (3)

Tanabata romantic date without overtime, RPA robot helps you get the job done

What is SPL?

IDEA performs the Test operation, resulting in duplicate data when data is inserted

STM32+ULN2003驱动28BYJ4步进电机(根据圈数正转、反转)

【MindSpore易点通机器人-01】你也许见过很多知识问答机器人,但这个有点不一样

MySQL advanced (twenty-seven) database index principle

百年北欧奢华家电品牌ASKO智能三温区酒柜臻献七夕,共品珍馐爱意
随机推荐
【Unity】【UGUI】【在屏幕上显示文本】
无题七
Is digital transformation a business buy-in?
Offensive World-PWN-new_easypwn
What is the function of the regular expression replaceAll() method?
正则表达式replaceFirst()方法具有什么功能呢?
matcher中find,matches,lookingAt匹配字符串的不同之处说明
微服务 技术栈
STM32+ULN2003驱动28BYJ4步进电机(根据圈数正转、反转)
21 Days of Deep Learning - Convolutional Neural Networks (CNN): Weather Recognition (Day 5)
无题十
Jenkins manual (2) - software configuration
2022华数杯数学建模思路分析交流
企业的数字化转型到底是否可以买来?
PAT Class B-B1019 Digital Black Hole (20)
手把手教你纯c实现异常捕获try-catch组件
[Office] Collection of Microsoft Office download addresses (offline installation and download of Microsoft's official original version)
Development common manual link sharing
MySQL使用聚合函数可以不搭配GROUP BY分组吗?
哪位大佬有20年4月或者1月的11G GI和ojvm补丁呀,帮忙发下?