渣翻Redis 基础命令学习(下)

http://try.redis.io/
这篇介绍Redis常用的几种数据类型。

数组

redis可以保存许多复杂结构,数组是其中之一,数组可以保存一系列元素。常用的操作符有RPUSH, LPUSH, LLEN, LRANGE, LPOP, 和 RPOP。容易看出这是个双端队列,左右都可以进出。插入元素用例:

RPUSH friends "Alice"
RPUSH friends "Bob"
LPUSH friends "Sam"

LRANGE用来获取数组元素,使用用例:

LRANGE friends 0 -1 => 1) "Sam", 2) "Alice", 3) "Bob"
LRANGE friends 0 1 => 1) "Sam", 2) "Alice"
LRANGE friends 1 2 => 1) "Alice", 2) "Bob"

Redis 没有提供直接的反转功能,LRANGE只能从左到右取出元素。

LLEN是用来获取数组长度, 使用样例:

LLEN friends => 3
LPOP friends => "Sam"
RPOP friends => "Bob"
LLEN friends => 1
LRANGE friends 0 -1 => 1) "Alice"

LLEN 返回了 friends 的长度 3,LPOP和RPOP分别是用来在数组的两端POP的(POP指读出数据,并且删除)。

集合

集合是一种类似于数组的结构,但集合是无序的,且集合中每个元素唯一。集合中比较重要的操作符有SADD, SREM, SISMEMBER, SMEMBERS, SUNION.
SADD 用来往集合中增加值:

SADD superpowers "flight"
SADD superpowers "x-ray vision"
SADD superpowers "reflexes"

SREM 删除集合中的值:

SREM superpowers "reflexes"

SISMEMBER 用来判断给定值是否在集合中:

SISMEMBER superpowers "flight" => 1
SISMEMBER superpowers "reflexes" => 0

SMEMBERS 用来获取集合的所有值:

SMEMBERS superpowers => 1) "flight", 2) "x-ray vision"

SUNIOR 用来求两个集合的并集:

SADD birdpowers "pecking"
SADD birdpowers "flight"
SUNION superpowers birdpowers => 1) "pecking", 2) "x-ray vision", 3) "flight"

有序集合

集合非常好用,但是他是无序的。不过redis也支持有序集合:

ZADD hackers 1940 "Alan Kay"
ZADD hackers 1906 "Grace Hopper"
ZADD hackers 1953 "Richard Stallman"
ZADD hackers 1965 "Yukihiro Matsumoto"
ZADD hackers 1916 "Claude Shannon"
ZADD hackers 1969 "Linus Torvalds"
ZADD hackers 1957 "Sophie Wilson"
ZADD hackers 1912 "Alan Turing"

key之后的数字就是排序的分值,可以用ZRANGE来取出一个序列:

ZRANGE hackers 2 4 => 1) "Claude Shannon", 2) "Alan Kay", 3) "Richard Stallman"

哈希表

哈希表是redis用来存储复杂数据结构,他代表多个键值对映射的集合,非常适合来表示对象:

HSET user:1000 name "John Smith"
HSET user:1000 email "john.smith@example.com"
HSET user:1000 password "s3cret"

使用HGETALL获得这个某个哈希表的所有域值对:

HGETALL user:1000

使用HMSET可以一次设定多个键值:

HMSET user:1001 name "Mary Jones" password "hidden" email "mjones@example.com"

如果只需要取得表中单个域的值,使用HGET:

HGET user:1001 name => "Mary Jones"

改变哈希表的域的值处理方式和一般的的字符串类似,以及提供改变数值的原子操作符:

HSET user:1000 visits 10
HINCRBY user:1000 visits 1 => 11
HINCRBY user:1000 visits 10 => 21
HDEL user:1000 visits
HINCRBY user:1000 visits 1 => 1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文为笔者对在学习Redis过程中所收集资料的一个总结,目的是为了以后方便回顾相关的知识,大部分为非原创内容。特此...
    EakonZhao阅读 14,508评论 0 9
  • redis主题 01_Redis介绍和安装运行02_Jedis的介绍和使用03_Redis数据类型和数据操作的命令...
  • 本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概...
    kelgon阅读 61,271评论 23 625
  • 南方的冬天都是暖阳时候多,并没有变幻莫测的恼人天气。这不,随着气温的持续暖和,家里养的蚕宝宝出壳了,原先黑压压的一...
    玥萱儿阅读 436评论 0 0
  • 城里起大雾 他穿着背带裤 雾里看花鬼魅生 她说嗨 石猴儿 头骨掀开给娘们看看你丫功夫真不真 水中捞月得兔崽子一捧 ...
    scumalapert阅读 293评论 18 3