初识redis之常用Set和ZSet命令

原创 2015年11月18日 15:29:34

    redis五种数据类型:String,Hash,List,Set,ZSet。五种数据类型各有优点,各司其职。最后两种数据类型Set和ZSet基本上是一种,ZSet就是给Set加了个排序而已(相当于加了个属性)。

  Set是通过Hash表实现,增删改的查找复杂度都是O(1)。ZSet相当于Set的升级版本。

   下面直接上命令了:

  

 Set:无序集合,通过hash table实现,添加,删除,查找复杂度都是O(1)
   命令:
   sadd myset hello   向myset集合添加hello元素(不能重复,重复返回0)
   smembers myset   查看myset集合中所有元素
   srem  myset hello  删除myset中的hello元素
   spop myset    从myset中随机删除一个元素
   sdiff myset1 myset2   集合myset1和集合myset2的差集(1有而2没有的)
   sdiffstore myset3 myset1 myset2   将myset1和myset2的差集存入myset3
   sinter myset1 myset2   获取myset1和myset2的交集
   sinterstore myset3 myset1 myset2  将myset1和myset2的交集存入myset3
   sunion myset1 myset2 获取myset1和myset2的并集
   sunionstore myset3 myset1 myset2 将myset1和myset2的并集存入myset3
   smove myset1 myset2 jeyson   将jeyson元素从myset1移到myset2中
   scard myset1  获取myset1中元素个数
   sismember myset1 hello  测试hello是否是myset1的元素,是返回1 否则0
   srandmember myset1   随机返回myset1一个元素,但不删除
ZSet:有序集合,为Set的升级版本,增加了一个顺序属性
   命令:
  zadd myset 1 one   向myset集合添加顺序为1的元素one
     更新顺序也是这个命令  zadd myset 2 one  把one的顺序号改为2
  zrange myset 0 -1 withscores  获取集合中所有元素(带序号)
  zrevrange myset 0 -1 withscores  获取集合中所有元素(带序号)(降序)
  zrange myset 0 -1 获取集合中所有元素(不带序号)
  zrem myset one 删除集合中one元素
  zincrby myset 3 three  将three的顺序号增加3(如果没有three则创建three,顺序为3)
  zrank myset one 返回one的索引(不是顺序,索引从0开始)(升序后)
  zrevrank myset one 返回one的索引(从大到小)(降序后)
  zrangebyscore myset 2 5 withscores 获取顺序为2-5的元素
  zcount myset 2 5  返回集合中顺序在2-5的元素数量
  zcard myset  返回集合中所有元素个数
 zremrangebyrank  myset 2 5  删除指定索引区间内(2-5)的元素
 zremrangebyscore  myset 2 5  删除指定顺序区间内(2-5)的元素

版权声明:本文为博主原创文章,未经博主允许不得转载。

redis set zset 的具体操作

前面已经了解了set和zset的数据结构。现在了解一下在使用的过程中具体命令。 set是集合,是String类型的无序集合,它是通过hash实现的,所以它在操作时候的复杂度和hash一样,O(1),这...
  • mggwct
  • mggwct
  • 2016年03月02日 16:32
  • 981

Redis教程(六) 有序集合(soted set / zset)类型

Redis的键值可以支持数据类型:字符串,列表,散表,集合,有序集合、HyperLogLog,通过选用不同的数据结构,用户可以使用Redis解决各式各样的问题。 有序集合(soted set / zs...
  • yuan_xw
  • yuan_xw
  • 2016年08月26日 23:16
  • 1859

Redis系列-set类型和zset类型

set类型  Set是集合,它是string类型的无序集合。 set是通过hash table 实现的,添加、删除和查找的复杂度都是0(1)。 对集合我们可以取并集、交集、差集。 sadd ...
  • SDN_SUPERUSER
  • SDN_SUPERUSER
  • 2013年11月01日 20:48
  • 3506

【Redis笔记(五)】 Redis数据结构 - set集合

今天到了我们Redis学习笔记的第五篇,今天我们来介绍set集合数据结构。set类型介绍和C++或Java编程语言中的set类型一样,Redis中的set类型也是一种无序集合。...
  • Xiejingfa
  • Xiejingfa
  • 2016年01月27日 15:19
  • 2093

redis set集合结构及命令详解

set 无序集合 集合的性质: 唯一性,无序性,确定性 注: 在string和link的命令中,可以通过range 来访问string中的某几个字符或某几个元素 但,因为集合的无序性,无法通过下标或...
  • zdp072
  • zdp072
  • 2016年03月19日 14:46
  • 3737

redis set命令操作

1.添加一个或多个成员到set SADD key member [member ...] summary: Add one or more members to a set since: 1.0...
  • u010113156
  • u010113156
  • 2015年04月05日 09:47
  • 646

【redis 基础篇三】set集合常用命令

在使用集合的过程中,我们都明白他是通过Key-value的形式来保存的,在存入数据的时候将值赋值给一个key值,去出的时候,我不管你那个value值跑到了什么位置,我只要通过这个key值就可以找到你,...
  • huo065000
  • huo065000
  • 2016年03月04日 09:23
  • 936

Redis中的set存储类型

在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。和List类型不同的是,Set集合中不允许出现...
  • qq_27656675
  • qq_27656675
  • 2017年03月30日 23:21
  • 240

Redis入门之 redis set集合的操作

/** * @author jackson * @date 2015-12-21 上午10:54:49 * @return void */ @Test public void je...
  • ningxuezhu
  • ningxuezhu
  • 2015年12月21日 12:14
  • 8155

使用Redis SETNX 命令实现分布式锁

使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法。SETNX命令命令格式 SETNX key value 将 key 的值设为 value,当且仅当 key 不存在 若给定...
  • lihao21
  • lihao21
  • 2015年10月13日 21:31
  • 49396
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初识redis之常用Set和ZSet命令
举报原因:
原因补充:

(最多只允许输入30个字)