码迷,mamicode.com
首页 > 其他好文 > 详细

Redis数据类型

时间:2016-06-12 15:30:47      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:二进制   local   

四、Redis数据类型
string是最简单的类型,你可以理解成Memcached一样的类型,一个key对应一个value,骑上支持的操作与Memcached的操作类似,它的功能更丰富。设置可以存二进制的对象。
/usr/local/redis/bin/redis-cli 

127.0.0.1:6379> mset key1 szk key2 love key3 yc
OK
127.0.0.1:6379> mget key1 key2 key3
1) "szk"
2) "love"
3) "yc"


list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链接的名字。使用List结构,我们可以轻松的实现最新消息排行等功能。List的另一个应用就是消息队列,可以利用list的push操作,将任务存在list中,然后工作线程再用pop操作将任务取出进行执行。


127.0.0.1:6379> lpush list1 123
(integer) 1
127.0.0.1:6379> lpush list1 aaa
(integer) 2
127.0.0.1:6379> lpush list1 "123 456"
(integer) 3
127.0.0.1:6379> rpop list1
"123"
127.0.0.1:6379> rpop list1
"aaa"
127.0.0.1:6379> rpop list1

set是集合,和我们数学中的集合概念类似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字。比如在微博应用中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合。因为Redis非常人性化的为几个提供了求交集、并集、差集等操作,那么就可以非常方便的实现如共同关注、共同喜好、二度好友等功能,对上面的所有集合 操作,你还可以使用不同的命令选择将结果返回给客户端还是存集到一个新的集合中。QQ有一个社交功能叫做"好友标签",这时就可以使用redis的集合来实现,把每一个用户的标签都存储在一个集合之中。

127.0.0.1:6379> sadd set1 zbc
(integer) 1
127.0.0.1:6379> sadd set1 szk
(integer) 1
127.0.0.1:6379> smembers set1
1) "zbc"

sorted set是有序集合,它比set多了一个权重参数score,使得集合中的元素能够按score进行有序排列,比如一个存储全班同学成绩的Sorted Sets,其集合value可以是同学的学号,而score就可以是其考试得分,这样在数据插入集合的时候,就已经进行了天然的排序。

127.0.0.1:6379> zadd mset2 2 "cde 123"
(integer) 1
127.0.0.1:6379> zadd mset2 4 "a123a"
(integer) 1
127.0.0.1:6379> zadd mset2 24 "123-aaa"
(integer) 1
127.0.0.1:6379> zrange mset2 0 -1
1) "cde 123"
2) "a123a"
3) "123-aaa"

hash:在memcached中,经常将一些结构化的信息打包成hashmap,在客户端序列化后存储为一个字符串的值(一般是JSON格式),比如用户的昵称、年龄、性别、积分等。

五、Redis持久化

  • Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only FIle)

  • RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上。

  • AOF,则是换了一个角度来实现持久化,那就是redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后重复执行一遍,就可以实现数据恢复了。

  • 其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。

  • 如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcached一样。


Redis数据类型

标签:二进制   local   

原文地址:http://xiongrunchu.blog.51cto.com/11696174/1788228

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!