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命令

转自:http://blog.csdn.net/js_sky/article/details/49907763

redis之常用Set和ZSet命令的更多相关文章

  1. 什么是redis?常用的命令有哪些?

    1.什么是redis? redis是一个高性能的key-value数据库,它是完全开源免费的,而且redis是一个NOSQL类型数据库,是为了解决高并发.高扩展,大数据存储等一系列的问题而产生的数据库 ...

  2. centos7 yum安装redis及常用命令

    redis是什么 Redis是一种基于内存的数据结构存储,可持久化的日志型.Key-Value数据库.使用关系型数据库的站点达到一定并发量的时候,往往在磁盘IO上会有瓶颈,这时候配合redis就有一定 ...

  3. Redis 实战 —— 04. Redis 数据结构常用命令简介

    字符串 P39 Redis 的字符串是一个有字节组成的序列,可以存储以下 3 种类型的值:字节串(byte string).整数.浮点数. 在需要的时候, Redis 会将整数转换成浮点数.整数的取值 ...

  4. 【数据库】Redis(2)--Redis的常用数据类型及命令

    1.Redis主要数据类型分类 Redis中存储数据常用的数据类型主要有五种:String.List.Set.Sorted Set.Hash,这五种数据结构在Redis中存储数据的命令掌握对于我们后期 ...

  5. Jedis对Redis的常用命令操作

    本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...

  6. [置顶] Redis String类型数据常用的16条命令总结

    Redis String类型数据常用的16条命令总结 描述:String 类型是最简单的类型,一个Key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比 ...

  7. Linux下安装redis以及常用命令

    https://blog.csdn.net/zgf19930504/article/details/51850594 安装: 1.获取redis资源 wget http://download.redi ...

  8. Redis中常用命令

    连接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证 持久化 save:将数据同步保存到磁盘 bgsave:将数据异步保存到磁盘 lastsave:返回上次成功将数据 ...

  9. 总结Linux 下Redis 操作常用命令(转)

    Redis的配置 Linux下安装 ]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz ]# tar xzf redis-2.8 ...

随机推荐

  1. Shell编程实战 1.1 监控思路架构介绍

    监控思路,架构介绍 需求:使用shell定制各种个性化的告警工具,但需要统一化管理,规范化管理. 思路:指定一个脚本包,包含主程序,子程序,配置文件,邮件引擎,输出日志等. 主程序:作为脚本的入口,是 ...

  2. 部署和调优 1.9 samba 部署和优化-3

    实践2 要求:共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写 打开配置文件 vim /etc/samba/smb.conf 改为security = user 在最后面增加一段 [den ...

  3. DAY11-MYSQL视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  4. JSON 解析出错问题

    从 PHP 返回一段 JSON 数据给前台页面,但使用 eval 和 JSON.parse 解析都出错. 在网上那上在线的 json 解析工具解析都正确. 于是一段段删除测试,最终发现问题出在 \r\ ...

  5. No bean class specified on bean definition 解决方案

    调试Spring项目出现No bean class specified on bean definition异常 但是控制台并没有给出其他相关信息了 这个时候可以在AbstractBeanDefini ...

  6. 分布式锁2 Java非常用技术方案探讨之ZooKeeper 【转载】

    前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.以自己结合实际工作中的一些经验和网上看到的一些资料 ...

  7. Python-黑客-004 用Python构建一个SSH僵尸网络-02 手动与SSH交互

    用Python构建一个SSH僵尸网络-02 手动与SSH交互 - 登录SSH服务器端的 root 用户 我的电脑(攻击者)的系统:Ubuntu14.04 : 用户名: aobosir@ubuntu:~ ...

  8. STM32数据类型定义

    #ifndef __STM32F10x_TYPE_H #define __STM32F10x_TYPE_H typedef signed long s32; typedef signed short ...

  9. ZROI2018提高day5t3

    传送门 分析我们可以根据性质将这个序列构造成一个环:0,a[1~n],0,a[n~1] 这中间的0是为了起间隔作用的. 我们又知道b[i]=a[i-1]^a[i+1] c[i]=b[i-1]^b[i+ ...

  10. 机器学习初探(手写数字识别)HOG图片

    这里我们讲一下使用HOG的方法进行手写数字识别: 首先把 代码分享出来: hog1.m function B = hog1(A) %A是28*28的 B=[]; [x,y] = size(A); %外 ...