川山甲

追求内心的非常平静!瞬间清空所有的杂念,达到物我两忘!

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理
 
思维导图
 

 
 
  在上文中提到,我正在做豆瓣数据同步操作。现在同步操作已经做完了,现在的问题是读取问题。
 
 
使用Redis原因
 
  现在没有足够的MySQL服务器支持我的业务,老大意思是要把压力交给Redis,主要是从效率上考虑。
 
  大致的架构是这样的。

 
找资料
 
 
 
操作
 

准备并安装 

 

进入src目录启动服务:

看起来不错。

下面来我们在客户端链接它。

                                     Redis把所有的值当作字符数组处理,而不关心它是其他什么。

 
字符查询:
  

 

 
 
数据结构
 

 

Strings:

  理解成跟Memcached一样的类型,一个key对应一个value,其上操作与Memcached的操作类似。

  看我终端的命令:(其中get key是获取对应值的操作)

 

Hashes:

  hash特别适合用于存储对象。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存储整个对象。如果value的大小超出一定限制后,Redis会在内部自动将zipmap替换成正常的hash实现。 

 

看我的操作:

 

lists:

  lists是一个双向链表结构,操作中key理解为链表的名字。——可以用作栈,也可以用作队列。

  注意:lists有长度限制,最大长度是2的32次方。

 

 

sets

  set是集合——主要操作,对多个集合求交并差等操作,key理解为集合的名字。

  set也是通过hash table实现的。

 

sorted sets:

  它是set的一个升级版本,它的实现是skip list和hash table的混合体。

 

常用命令
 
返回key值:keys
  返回满足给定pattern的所有key ——第二个参数必须有,如果没有会报错。

 

确认key是否存在:exists

删除一个key: del

设置一个过期时间:expire(单位:秒)

 

重命名key:rename

 

返回值类型:type

总结
 
  这只是基础篇,就是大致的熟悉下Redis。重点是要理解那5个基础结构,要知道每个结构的优缺点,对于不同的业务要选择合适的数据结构。——我自己会选择使用hash结构。
 
  还有跳表是很热门的数据结构,如果不熟悉花点时间熟悉下。
 
  我也是第一次使用。如果有误望大家多多指点。
 
推荐
 
posted on 2012-10-30 16:01  川山甲  阅读(2581)  评论(4编辑  收藏  举报