美文网首页
redis中set,zset命令

redis中set,zset命令

作者: 小鱼_a563 | 来源:发表于2020-09-23 23:59 被阅读0次

一.set基本命令

1.添加(sadd),查看(smembers)一个set,判断(sismember)一个元素是否存在
myredis:0>sadd myset hello      #添加一个myset集合
"1"
myredis:0>sadd myset word
"1"
myredis:0>sadd myset xiaoyu
"1"
myredis:0>smembers myset      #查看myset集合中所有的值
 1)  "hello"
 2)  "xiaoyu"
 3)  "word"
myredis:0>sismember myset word      #判断一个元素是否存在
"1"
myredis:0>scard myset      #查看set中有多少个元素
"2"
######################################################################################
2.删除
myredis:0>spop myset      #随机删除一个元素
"hello"
myredis:0>spop myset      #随机删除一个元素
"xiaoyu"
myredis:0>smembers myset
 1)  "word"
myredis:0>srem myset hello      #删除指定元素
"1"
######################################################################################
3.set是一个无序不重复的集合。随机一个元素(可以使用抽奖程序)
myredis:0>srandmember myset      #随机set集合中一个元素
"word"
myredis:0>srandmember myset 2      #随机set集合中两个元素
 1)  "xiaoyu"
 2)  "xiaogou"
######################################################################################
4.把一个set中的元素移动到另外一个set集合中
myredis:0>smembers myset
 1)  "xiaogou"
 2)  "xiaoyu"
 3)  "word"
 4)  "yuanyuan"
myredis:0>sadd myset2 my
"1"
myredis:0>smove myset myset2 xiaoyu      #把一个set中的元素移动到另外一个set集合中
"1"
myredis:0>smembers myset
 1)  "xiaogou"
 2)  "word"
 3)  "yuanyuan"
myredis:0>smembers myset2
 1)  "xiaoyu"
 2)  "my"
######################################################################################

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

二.set使用场景

 myredis:0>smembers myset
 1)  "c"
 2)  "a"
 3)  "b"
myredis:0>smembers myset2
 1)  "d"
 2)  "c"
 3)  "e"
1.微博,B站等社交网站中有共同关注,共同好友
  • 差集
 myredis:0>sdiff myset myset2
 1)  "a"
 2)  "b"
  • 并集
myredis:0>sunion myset myset2
 1)  "b"
 2)  "c"
 3)  "a"
 4)  "d"
 5)  "e"
  • 交集
myredis:0>SINTER myset myset2
 1)  "c"

三.zet基本命令

  • 在set基础上,增加了一个值,set k1 v1,zset k1 score1 v1
1.存储,查看
myredis:0>zadd k1 1 one 2 two 3 three        #存储key为k1的数据
"3"
myredis:0>zrange k1 0 3        #按照下标查看数据
 1)  "one"
 2)  "two"
 3)  "three"
myredis:0>zrange k1 0 -1        #查看所有的值
 1)  "one"
 2)  "two"
 3)  "three"
############################################################################
2.排序
myredis:0>zadd salary 2000 xiaohong 5000 xiaoyu 500 xiaogou
"3"
myredis:0>zrangebyscore salary -inf +inf         #按照scores从小到大正序排列,只显示value
 1)  "xiaogou"
 2)  "xiaohong"
 3)  "xiaoyu"
myredis:0>zrevrange salary 0 -1        #按照scores从大到小倒序排列,只显示value
 1)  "xiaoyu"
 2)  "xiaohong"
myredis:0>zrangebyscore salary -inf +inf withscores        #在负无穷和正无穷之间按照scores正序排列,并且显示score和value
 1)  "xiaogou"
 2)  "500"
 3)  "xiaohong"
 4)  "2000"
 5)  "xiaoyu"
 6)  "5000"
myredis:0>zrangebyscore salary -inf 3000 withscores        #在负无穷和3000之间按照scores正序排列,并且显示score和value
 1)  "xiaogou"
 2)  "500"
 3)  "xiaohong"
 4)  "2000"
############################################################################
3.移除元素
myredis:0>zrem salary xiaogou        #移除指定的元素
"1"
myredis:0>zrange salary 0 -1
 1)  "xiaohong"
 2)  "xiaoyu"
myredis:0>zcard salary        #查看集合中元素个数
"2"
############################################################################
4.按照区间之间的元素个数
myredis:0>zrange salary 0 6000 withscores
 1)  "xiaohong"
 2)  "2000"
 3)  "xi"
 4)  "3000"
 5)  "xiaoyu"
 6)  "5000"
myredis:0>zcount salary 0 4000        #查看某个key 中scores的0到4000的元素个数
"2"

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

zset总结

  • set的有序版本:可以实现成绩排序,工资等排序
  • 排行榜应用的实现,取TOP N的实现

相关文章

  • redis中set,zset命令

    一.set基本命令 二.set使用场景 1.微博,B站等社交网站中有共同关注,共同好友 差集 并集 交集 三.ze...

  • redis命令行操作

    redis命令 string类型操作 hash类型相关操作 list类型相关操作 set类型相关操作 zset类型...

  • Redis有序集合zset应用场景

    一、zset(sorted set:有序集合) Redis zset和Set一样也是String类型元素的集合,且...

  • redis命令

    redis有5种数据类型:string,list,hash,set,zset。 全局命令 每种类型都有自己的专有命...

  • RedisTemplate常用方法总结

    Redis常用的数据类型 String Hash List Set zSet Sorted set String类...

  • 亿级流量电商系统多级缓存架构

    Redis基础 数据类型String hash list set zset java操作Redis redis的R...

  • Redis自我学习

    Redis Redis 的主要五种数据类型 String Hash List Set Zset Redis 的扩展...

  • Redis面试题

    Redis支持的数据类型? String、List、Set、Hash、zSet 什么是Redis持久化?Redis...

  • Redis汇总

    1. redis 数据类型 string, list, hash ,set,zset 2. redis 单线程模型...

  • Redis之数据结构

    Redis支持五中数据类型: String(字符串) Hash(哈希) List(列表) Set(集合) zset...

网友评论

      本文标题:redis中set,zset命令

      本文链接:https://www.haomeiwen.com/subject/dqbgyktx.html