Redis是一个高性能Key-Value store
Installation
下载解压,make之后就可以直接启动./redis-server 默认读取当前目录下的redis.conf作为配置,亦可参数指定。默认监听6379端口。
Features
支持多种数据结构
相较memcached,redis支持多种数据结构,包括
针对每种数据结构,redis都提供比较完整的操作支持。
高性能
据Wiki上说可以达到110,000 SETs/second, 81,000 GETs/second,数据根据一定的策略存在内存和磁盘上(支持持久化)。从1.1开始支持append-only持久化方式,数据被加到文件中,并进行异步的维护,保证文件的大小。从2.0(即1.3)开始支持virtual memory,当内存占用超过配置文件中vm-max-memory时,数据被写入virtual memory。
Replication
redis支持主从复制,从而提供多台实例进行读操作,可以在slave的配置文件里配置master的地址。
Protocol
redis目前只有基于TCP的文本协议,与memcache类似,有一些改进。
客户端通常发送
命令 参数… 值字节数\r\n
值\r\n
服务端的返回,根据第一个字节,可以判断:
- - 错误信息
- + 普通文本信息
- $ 变长字节数,$6表示CRLF之后有6个字节的字符
- : 返回一个整数
- * 返回组数,即*6表示CRLF之后将返回6组变长字符
其他
项目地址
http://code.google.com/p/redis/
http://github.com/antirez/redis/
开发者twitter
http://twitter.com/antirez
http://twitter.com/pnoordhuis
Redis功能简单精悍,很符合Unix哲学,核心redis.c只有一万多行,实在是个让人爱不释手的东西。如果可能,争取把他用到生产环境来取代现在的memcached。
The post is brought to you by lekhonee v0.7