• Strings

    最简单的类型,一个Key对应一个Value,string类型是二进制安全的。Redis的string可以包含任何数据,如图片或序列化的对象

    • 操作

      • Set:设置key对应的值为string类型的value,如 set name Fahy
      • Setnx:设置key对应的值为string类型的value,如果key已经存在,返回0,如 setnx name Fahy
      • Setex:设置key对应的值为string类型的value,并指定此键值对的有效期,如 setex name 10 Fahy
      • Setrange:设置指定key的value值的子字符串,替换相同长度的字符,如 已有一对key-value为email=hwj1993@sina.com,则 setrange email 8 qq.com 会使email=hwj1993@qq.com
      • mset:一次设置多个key的值,成功返回ok表示所以值都被设置,失败返回0表示没有任何值被设置,如 mset key1 huangweijian key2 others
      • msetnx:一次设置多个key的值,成功返回ok表示所有值都被设置,失败返回0表示没有任何值被设置,但不会覆盖以存在的key,如 msetnx key3 huangweineng key4 yellow
      • get:获取key对应的value,如果key不存在,返回nill,如 get key1
      • getset:设置key的值,并返回key的旧值,如 getset key2 huangsurong
      • getrange:获取key的value值的子字符串,如 getrange key1 0 4,返回从第0到第4个字符"huang"
      • mget:一次获取多个key的值,如果对应的key不存在,返回nil,如 mget key1 key2 key3
      • incr:对key的值做++操作,并返回新的值,当key不存在时,设置key值为0再进行加操作,如 incr key5
      • incrby:对key的值做加指定值操作,当key不存在时,设置key值为0再进行加操作,如 incrby key6  7
      • decr:对key的值做--操作,当key不存在时,设置key值为0再进行减操作,如 decr key7
      • decrby:对key的值做减指定值操作,当key不存在时,设置key值为0再进行减操作,如 decrby key8  7
      • append:给指定key的字符串追加value,返回新字符串值的长度,当key不存在时,添加该key,如 append key1 @sina.com
      • strlen:返回指定key的value长度,如 strlen key1
      • del:删除指定key,如 del key1
  • hashes:可建立一张hash表

    Redis hash是一个string类型的field(字段)和value的映射表,它的添加、删除操作都是O(I)(平均)。适合存储对象,占用更少的内存,并且方便存钱整个对象

    • 操作

      • hset:设置hash field为指定值,如果key不存在,则先创建,如 hset hashtable field hello
      • hsetnx:设置hash field为指定值,如果key不存在,则先创建,如果存在返回0,如 hsetnx hashtable field1 world
      • hmset:同时设置hash的多个field,如 hmset hashtable field2 helloween field3 christmas
      • hget:获取指定的hash field,如 hget hashtable field
      • hmget:获取全部指定的hash field,如 hmget hashtable field field1 field2
      • hincrby:指定的hash field加上特定值,如 hincrby hashtable field4 5
      • hdecrby:指定的hash field减去特定值,如 hdecrby hashtable field4 5
      • hexists:判断指定field是否存在,如 hexists hashtable field4
      • hlen:返回指定hash的field数量,如 hlen hashtable
      • hdel:删除指定hash的field,如 hdel hashtable field
      • hkeys:返回hash的所有field,如 hkeys hashtable
      • hvals:返回hash的所有value,如 hvals hashtable
      • hgetall:获取某个hash中全部的field几value,如 hgetall hashtable
  • lists:一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字。

    Redis的list类型其实就是一个每个子元素都是string类型的双向链表。既可作为栈,又可作为堆

    • 操作

      • lpush:在key对应list的头部添加字符串元素,如 lpush list hello
      • rpush:在key对应的list的尾部添加字符串元素,如 rpush list world
      • linsert:在key对应list的特定位置前或后添加字符串,如 linsert list before world my 或 linsert list after hello you
      • lset:设置list中指定下表的元素值,如 lset list 1 he
      • lrange:返回指定范围内的元素,如 lrange list 0 -1
      • lrem:从key对应的list中删除n个和value相同的元素,n<0从尾删除,n=0全部删除,如 lrem list 1 you
      • ltrim:保留指定范围内的数据,如 ltrim list 1 -1
      • lpop:从list头部删除元素,并返回删除元素,如 lpop list
      • rpop:从list尾部删除元素,并返回删除元素,如 rpop list
      • rpoplpush:移除第一个list尾部元素到第二个list头部,如 rpoplpush list1 list2
      • lindex:返回名称为key的list的index位置的元素,如 lindex list 1
      • llen:返回key对应的list的长度,如 llen list
  • sets:集合,是string类型的无序集合

    Redis的set类型通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合可以取并集、交集和差集。

    • 操作

      • sadd:向名称为key的set中添加元素,如 sadd settable hello
      • srem:删除名称为key的set中的元素,如 srem settable two
      • smember:获取名称为key的set中的所有元素,如 smember settable
      • spop:随机返回并删除名称为key的set中的元素,如 spop settable
      • sdiff:返回以key1为标准,与其他key不同的元素,如 sdiff set1 set2
      • skiffstore:将以key1为标准,与其他key不同的元素,存到key3中,如 sdiffstore key3 key1 key2
      • sinter:返回所有给定key的交集,如 sinter set1 set2
      • sinterstore:将所有给定key的交集存储到另一个key中,如 sinterstore key key1 key2
      • sunion:返回所有给定key的并集,如 sunion set1 set2
      • sunionstore:将所有给定key的并集存储到另一个key中,如 sunionstore key key1 key2
      • smove:从第一个key对应的set中移除member并添加到第二个对应的set中,如 smove set1 set2 hello
      • scard:返回名称为key的set元素个数,如 scard set1
      • sismember:测试member是否属于名称为key的set的元素,如 sismember set member
      • srandmember:随机返回名称为key的set的一个元素,如 srandmember set
  • sorted sets:在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以制定,每次指定后,zset会重新按新的值调整顺序,序号可相同,值不可相同
    • 操作

      • zadd:向名称为key的set中添加元素,并指定序号,如 zadd settable 1 hello
      • zrange:返回指定索引范围内的元素,添加withscores,返回序号,如 zrange settable 0 -1 withscores
      • zrem:删除名称为key的zset中个元素member,如 zrem settable hello
      • zincrby:如果在名称为key的zset中给已经存在元素member,则该元素的score增加increment,否则,向该集合中添加该元素,起score的值为increment,如 zincrby settable 2 earth
      • zrank:返回名称为key的zset中member元素的排名(按score从小到大排序),如 zrank settable earth withscores
      • zrevrank:返回名称为key的zset中member元素的排名(按score从大到小排序),如 zrevrank settable earth withscores
      • zrevrange:返回名称为key的zset(按score从大到小顺序)中的index从start到end的所有元素,如 zrevrange settable 0 -1 withscores
      • zrangebyscore:返回集合中score在给定区间的元素,如 zrangebyscore settable 1 3 withscores
      • zcount:返回集合中score在给定区间的元素个数,如 zcount settable 1 3
      • zcard:返回集合中的元素个数,如 zcard settable
      • zremrangebyrank:删除集合中排名的索引在给定区间的元素,如 zremrangebyrank settable 1 1
      • zremrangebyscore:删除集合中score在给定区间的元素,如 zremrangebyscore settable 1 2

Redis的数据类型及操作的更多相关文章

  1. Redis常用数据类型以及操作

    Redis常用数据类型以及操作 目录 Redis常用数据类型以及操作 一.String数据类型 1. SET/GET/APPEND/STRLEN 2. INCR/DECR/INCRBY/DECRBY ...

  2. Redis五大数据类型以及操作

    目录: 一.redis的两种链接方式 二.redis的字符串操作(string) 三.redis的列表操作(list) 四.redis的散列表操作(类似于字典里面嵌套字典) 五.redis的集合操作( ...

  3. redis 五大数据类型以及操作

    一.redis的两种链接方式 1.简单连接 import redis conn = redis.Redis(host='10.0.0.200',port=6379) conn.set('k1','年后 ...

  4. Redis五大数据类型及操作

    目录: 一.redis的两种链接方式 二.redis的字符串操作(string) 三.redis的列表操作(list) 四.redis的散列表操作(类似于字典里面嵌套字典) 五.redis的集合操作( ...

  5. Redis入门教程:特性及数据类型的操作

    虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...

  6. Redis 学习(二) —— 数据类型及操作

    Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...

  7. Redis五大数据类型的常用操作

    在上一篇博文<centos安装redis>中,已经详细介绍了如何在centos上安装redis,今天主要介绍下Redis五大数据类型及其五大数据类型的相关操作. Redis支持五种数据类型 ...

  8. 缓存数据库-redis数据类型和操作(list)

    转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部( ...

  9. Redis系列(二):Redis的数据类型及命令操作

    原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...

随机推荐

  1. 用Qt写软件系列一:QCacheViewer(浏览器缓存查看器)

    介绍 Cache技术广泛应用于计算机行业的软硬件领域.该技术既是人们对新技术探讨的结果,也是对当前软硬件计算能力的一种妥协.在浏览器中使用cache技术,可以大幅度提高web页面的响应速度,降低数据传 ...

  2. Web前端测试题

    JS题目: 在JavaScript中( )方法可以对数组元素进行排序. A. add()B. join()C. sort()D. length() 答案:http://hovertree.com/ti ...

  3. [CLR via C#]17. 委托

        回调函数是一种非常有用的编程机制,它已经存在很多年了.Microsoft .NET Framework通过委托(delegate)来提供一种回调机制.不同于其他平台(比如非托管C++)的回调机 ...

  4. 用stimulsoft Reports报表工具制作简单报表的过程

    这是在数据库sql server中People表的数据

  5. 泛函编程(19)-泛函库设计-Parallelism In Action

    上节我们讨论了并行运算组件库的基础设计,实现了并行运算最基本的功能:创建新的线程并提交一个任务异步执行.并行运算类型的基本表达形式如下: import java.util.concurrent._ o ...

  6. C#读写ini文件操作

    ini文件,是windows操作系统下的配置文件,ini文件是一种按照特点方式排列的文本文件,它的构成分为三部分,结构如下: [Section1] key 1 = value2 key 1 = val ...

  7. 每日微软面试题——day 6(打印所有对称子串)

    每日微软面试题——day 6(打印所有对称子串) 分类: 2.数据结构与算法2011-08-14 14:27 9595人阅读 评论(15) 收藏 举报 面试微软string测试systemdistan ...

  8. virtualenv and virtualenvwrapper on Ubuntu 14.04

    In this post I’ll go over my attempt to setup virtual environments for Python development. Most Pyth ...

  9. ASP.NET验证码生成与识别

    一般验证码页面只输出一个图片而不进行其他业务处理,所以验证码一般放在一般处理程序(httpHandler)页面中,而如果将验证码生成代码放到一般处理程序中,要将生成验证码保存在Session中,这里我 ...

  10. SAP中给当前指定的活动用户发系统信息的函数

    函数名:TH_POPUP 输入集团.当前在线用户.Message即可