思维导图
序
在上文中提到,我正在做豆瓣数据同步操作。现在同步操作已经做完了,现在的问题是读取问题。
使用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 阅读( ...) 评论( ...)