ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis的Hash、Set和Zset基础命令

2021-05-13 21:03:03  阅读:226  来源: 互联网

标签:127.0 Hash Zset 0.1 myset 6379 Set 集合 integer


set(集合)

set的值是不能重复,且无序的

#############################################################
127.0.0.1:6379> sadd myset a   # 向myset集合添加 a
(integer) 1
127.0.0.1:6379> sadd myset c
(integer) 1
127.0.0.1:6379> sadd myset e
(integer) 1
127.0.0.1:6379> smembers myset   # 查看myset集合中所有值
1) "e"
2) "c"
3) "a"
127.0.0.1:6379> sismember myset a  # 判断myset集合中是否存在a
(integer) 1
127.0.0.1:6379> sismember myset b
(integer) 0
127.0.0.1:6379> scard myset  # 获取myset集合中元素个数
(integer) 3
127.0.0.1:6379> srem myset a  # 指定移除myset集合中的 a
(integer) 1
127.0.0.1:6379> smembers myset
1) "e"
2) "c"

#############################################################
127.0.0.1:6379> flushdb  # 清理数据库
OK
127.0.0.1:6379> sadd set2 1  
(integer) 1
127.0.0.1:6379> sadd set2 2
(integer) 1
127.0.0.1:6379> sadd set2 3
(integer) 1
127.0.0.1:6379> sadd set2 4
(integer) 1
127.0.0.1:6379> sadd set2 5
(integer) 1
127.0.0.1:6379> sadd set2 6  # 向set2集合中添加 1~6
(integer) 1
127.0.0.1:6379> smembers set2  # 查看set集合所有元素
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6" 
127.0.0.1:6379> srandmember set2  # 随机查看set集合某个元素
"2"
127.0.0.1:6379> srandmember set2 2  # 随机查看set集合 2 个元素
1) "6"
2) "5"
127.0.0.1:6379> spop set2  # 随机弹出set集合某个元素
"6"
127.0.0.1:6379> spop set2  # 随机弹出set集合某个元素
"3"

#############################################################

127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> sadd A 1
(integer) 1
127.0.0.1:6379> sadd A 2
(integer) 1
127.0.0.1:6379> sadd A 3  # 向A集合中放入1,2,3
(integer) 1
127.0.0.1:6379> sadd B 2
(integer) 1
127.0.0.1:6379> sadd B 3
(integer) 1
127.0.0.1:6379> sadd B 4  # 向B集合中放入2,3,4
(integer) 1
127.0.0.1:6379> smembers A  # 查看A集合所有元素
1) "1"
2) "2"
3) "3"
127.0.0.1:6379> smembers B  # 查看B集合所有元素
1) "2"
2) "3"
3) "4"
127.0.0.1:6379> sdiff A B   # A、B集合的差集
1) "1"
127.0.0.1:6379> sinter A B   # A、B集合的交集
1) "2"
2) "3"
127.0.0.1:6379> sunion A B   # A、B集合的并集
1) "1"
2) "2"
3) "3"
4) "4"



Hash(哈希)

类似Map集合,结构为 key-map!本质和String类型没区别,还是key-value,只不过value可以为map集合

#############################################################
127.0.0.1:6379> hset myhash name jh   # set一个具体的key-value
(integer) 1
127.0.0.1:6379> hget myhash name  # 获取具体字段的值
"jh"
127.0.0.1:6379> hset myhash age 10 height 175  # 设置多个key-value,hmset已经过世直接hset就行
(integer) 2
127.0.0.1:6379> hmget myhash  name age  # 获取多个具体字段的值
1) "jh"
2) "10"
127.0.0.1:6379> hkeys myhash   # 只获取所有key
1) "name"
2) "age"
3) "height"
127.0.0.1:6379> hvals myhash   # 只获取所有value
1) "jh"
2) "10"
3) "175"
127.0.0.1:6379> hgetall myhash  # 获取全部数据(包括key和value)
1) "name"
2) "jh"
3) "age"
4) "10"
5) "height"
6) "175"
127.0.0.1:6379> hlen myhash   # 获取hash表的字段(key)数量
(integer) 3
127.0.0.1:6379> hexists myhash name  # 获取hash表是否存在字段name,存在1,不存在0
(integer) 1
127.0.0.1:6379> hexists myhash test  # 获取hash表是否存在字段test
(integer) 0
127.0.0.1:6379> hsetnx myhash name spring  # 因为hash表中已存在字段name,再设置新值会失败
(integer) 0
127.0.0.1:6379> hget myhash name
"jh"
127.0.0.1:6379> hsetnx myhash test  spring  # 因为hash表中不存在字段test,可以设置值为spring
(integer) 1
127.0.0.1:6379> hget myhash test
"spring"
127.0.0.1:6379> hincrby myhash age 8   # 给具体字段age增加 8 
(integer) 18


Zset(有序集合)

#############################################################################
127.0.0.1:6379> zadd myset 1 one  # 向集合中增加一个 值序号 值
(integer) 1
127.0.0.1:6379> zadd myset 2 two 3 three  # 向集合中增加多个 值序号 值
(integer) 2
127.0.0.1:6379> zrange myset 0 -1  # 正序(从小到大)查看集合所有元素
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> zadd myset 6 six
(integer) 1
127.0.0.1:6379> zrevrange myset 0 -1  # 逆序(从大到小)查看集合所有元素
1) "six"
2) "three"
3) "two"
4) "one"
127.0.0.1:6379> zrange myset 0 1  # 根据下标查看集合指定元素
1) "one"
2) "two"
127.0.0.1:6379> zcount myset 1 3  # 查看[1,3]区间的集合元素个数
(integer) 3
127.0.0.1:6379> zcount myset 1 6   # 查看[1,6]区间的集合元素个数
(integer) 4
127.0.0.1:6379> zrangebyscore myset -inf +inf withscores   # 显示负无穷到正无穷所有元素并附带 值序
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "six"
8) "6"
127.0.0.1:6379> zrangebyscore myset -inf 2  withscores  # 显示负无穷到2(小于2)的所有元素并附带 值序 进行升序排序
1) "one"
2) "1"
3) "two"
4) "2"

标签:127.0,Hash,Zset,0.1,myset,6379,Set,集合,integer
来源: https://www.cnblogs.com/jiehao-yu/p/14766130.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有