初识redis之常用Set和ZSet命令_jeyson的博客-程序员秘密_zset和set

技术标签: ZSet  Set  数据库  redis  

    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)的元素

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/js_sky/article/details/49907763

智能推荐

SDNE 图向量_xiao___qiao的博客-程序员秘密

目录1 目的和思想2 模型原理2.1 节点编码公式2.2 损失函数2.3 算法3 SDNE 总结1 目的和思想SDNE 模型的目的:将图的顶点表示为向量SDNE 的整体思想:为了保留网络的高度非线性关系模型出自论文: Structural Deep Network Embedding2 模型原理模型实现:将节点通过两次编码为节点向量对节点向量进行两次解码为原来的节点主要是以半监督的方式学习模型,分别有节点的一阶相似性损失和二阶相似性损失函数2.1 节点编码公式2.2 损失函数

笔记本无线网卡失效(红叉)故障排除_xuqi7的博客-程序员秘密

故障排除过程大概如下:1. 看看无线网卡是不是被你关掉了,如果是,打开即可,不行看第2步2. 有些笔记本电脑的无线网卡有物理开关,找找看,如果无线网卡物理开关处于关闭状态,打开即可,不行看第3步

CodeForces - 543A Writing Code(背包问题 + dp + 滚动数组)_ShadowGhostH的博客-程序员秘密

题目题意有 nnn 个程序猿要写 mmm 行代码,第 iii 个程序猿每行会出现 viviv_i 个 bugbugbug ,问最后总 bugbugbug 数不超过 bbb 的码代码方案数有多少种,答案对 modmodmod 取模 其中,方案定义为,每个程序猿码代码的行数,如果两种方案中,存在一人所码代码行数两次不同,则认为是两种方案。思路如果我们独立的看待每行代码,定义 dp[k...

微信小程序 — — 实现微信公众号留言功能(附前、后端源码)_weixin_34310369的博客-程序员秘密

微信小程序留言助手使用指南前言现在微信公众号留言功能不开通真的很麻烦,与读者之间缺少了很多的互动,所以小鹿就花费了一个月的时间,做了一款留言小程序,嵌入到公众号文章底部,点击进入用户即可进行留言,和原有的留言功能相同。效果图:点击文章底部的卡片(可以自定义多种形式,链接,文字等方式点击进入)。很多小伙伴加我微信问我关于这个小程序的问题,我在这里也统一说一下。如果只想单单的给公众号加一...

kubernetes认证,对接第三方认证系统,对接github认证_weixin_33872660的博客-程序员秘密

概述本文介绍如何使用github账户去关联自己kubernetes账户。达到如下效果:使用github用户email作为kubernetes用户,如[email protected]创建对应的clusterrole绑定给[email protected]这个用户给[email protected]这个用户创 建一个kubeconfig文件,让改...

C++根据加密头信息,判断文件是否为加密文件_Fzuim的博客-程序员秘密

针对某种加密程序,会对本地文件加密,并且会在文件头写入加密头信息(可以使用UE进行文件二进制查看),现在贴上一段代码:读取当前文件的加密头信息,判断该文件是否为加密文件。int CLdScanFileDlg::FileDecryptStatus( wchar_t* v_strFile,int v_iStartIndex,int v_iReadCount,wchar_t* v_strConten

随便推点

python 操作redis之四(列表)_一起学python吧的博客-程序员秘密_python redis 列表

列表使用与内部实现原理列表类型 (List) 是一个使用链表结构存储的有序结构,它的元素插入会按照先后顺序存储到链表结构中,因此它的元素操作 (插入\删除) 时间复杂度为 O(1),所以相对来说速度还是比较快的,但它的查询时间复杂度为 O(n),因此查询可能会比较慢。1 基础使用列表类型的使用相对来说比较简单,对它的操作就相当操作一个没有任何 key 值的 value 集合,如下图所示:2 代码实现from redis import StrictRedisredis_cli =.

Vim的安装与配置_CHENG Jian的博客-程序员秘密_vim的安装包

vim的安装Ubunto安装vim包Ubunto使用如下命令即可安装vimsudo apt-get install vim vim-scripts vim-doc其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。 当然我也可以使用其他的安装命令 sudo apt-get install vim sudo apt-get install vim-gtk 等等,其实

解决IIS下localhost访问需要输入用户名和密码的问题_eldn__的博客-程序员秘密_服务器localhost要求输入用户名和密码

http://down.chinaz.com/server/201302/2388_1.htm 在我们的WIN XP系统中安装了IIS,但是在输入LOCALHOST测试是否安装完毕出现需要输入用户名和密码的问题。  看到这个问题,应该是权限没有打开设置,阻止了匿名访问用户。具体如何开启呢?  第一步,在"运行"中输入"gpedit.msc"调出组策略设置

将dubbo暴露HTTP服务_笑看风云路的博客-程序员秘密_dubbo http

通常来说一个dubbo服务都是对内的,也就是给内部调用的,但也有可能一个服务就是需要提供给外部使用,并且还不能有使用语言的局限性。比较标准的做法是对外的服务我们统一提供一个openAPI,这样的调用方需要按照标准提供相应的appID以及密钥来进行验签才能使用。这样固然是比较规范和安全,但复杂度也不亚于开发一个单独的系统了。这里所讲到的没有那么复杂,就只是把一个不需要各种权限检验的dubbo......

cmake --version_5icode.top的博客-程序员秘密

[[email protected] cmake]# ls -ltotal 5932drwxr-xr-x 9 root root 4096 Jun 12 20:29 cmake-2.8.12.2-rwxr-xr-x 1 root root 6068231 Jun 12 20:29 cmake-2.8.12.2.tar.gz[[email protected] cmake]# cd cmake-2.8.12.

winPE的PXE引导,大批量维护和安装系统_XJYSober的博客-程序员秘密_pxe启动文件制作

前言优先看上一篇:【纯净的windows官方WinPE制作】一般个人PC可自制启动盘启动PE做维护或者安装系统。这一篇主要针对批量部署、维护场景。几种通过PXE启动的server工具(主要针对windows网络启动场景)1、AOMEIPXE Boot Tool官网:https://www.ubackup.com/pxetool.html2、Serva官网:https://vercot.com/~serva/default.html3、hanewinshcp官网:ht.

推荐文章

热门文章

相关标签