【转载文章】本文包括如下内容:
Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
下面是官方的bench-mark数据:
- The test was done with 50 simultaneous clients performing 100000 requests.
- The value SET and GET is a 256 bytes string.
- The Linux box is running Linux 2.6, it’s Xeon X3320 2.5Ghz.
- Text executed using the loopback interface (127.0.0.1).
Results: about 110000 SETs per second, about 81000 GETs per second.
更多详细数据请见官方bench-mark page(http://code.google.com/p/redis/wiki/Benchmarks)
3.1.安装Redis
Redis的代码遵循ANSI-C编写,可以在所有POSIX系统(如Linux, *BSD, Mac OS X, Solaris等)上安装运行。而且Redis并不依赖任何非标准库,也没有编译参数必需添加。编译安装Redis,我们唯一需要的就是make,下面是安装过程,使用的是目前的稳定版本1.2.6版,2.0版本目前尚处于开发状态。
3.1.1.获取源码、解压、进入源码目录:
1 2 3 |
wget http://redis.googlecode.com/files/redis-1.2.6.tar.gz tar xzf redis-1.2.6.tar.gz cd redis-1.2.6 |
3.1.2.编译生成可执行文件:
由于makefile文件已经写好,我们只需要直接在源码目录执行make命令进行编译即可:
1 |
make |
make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下:
3.1.3.建立Redis目录(非必须)
这个过程不是必须的,只是为了将Redis相关的资源统一管理而进行的操作。
执行以下命令建立相关目录并拷贝相关文件至目录中:
1 2 3 4 5 6 |
sudo -s mkdir -p /usr/local/redis/bin mkdir -p /usr/local/redis/etc mkdir -p /usr/local/redis/var cp redis-server redis-cli redis-benchmark redis-stat /usr/local/redis/bin/ cp redis.conf /usr/local/redis/etc/ |
3.2.Redis配置参数详解
在我们成功安装Redis后,我们直接执行redis-server即可运行Redis,此时它是按照默认配置来运行的(默认配置甚至不是后台运行)。我们希望Redis按我们的要求运行,则我们需要修改配置文件,Redis的配置文件就是我们上面第二个cp操作的redis.conf文件,目前它被我们拷贝到了/usr/local/redis/etc/目录下。修改它就可以配置我们的server了。如何修改?下面是redis.conf的主要配置参数的意义:
下面是一个略做修改后的配置文件内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
daemonize yes pidfile /usr/local/redis/var/redis.pid port 6379 timeout 300 loglevel debug logfile /usr/local/redis/var/redis.log databases 16 save 900 1 save 300 10 save 60 10000 rdbcompression yes dbfilename dump.rdb dir /usr/local/redis/var/ appendonly no appendfsync always glueoutputbuf yes shareobjects no shareobjectspoolsize 1024 |
将上面内容写为redis.conf并保存到/usr/local/redis/etc/目录下
然后在命令行执行:
1 |
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf |
即可在后台启动redis服务,这时你通过
1 |
telnet 127.0.0.1 6379 |
即可连接到你的redis服务。
官方网址:http://code.google.com/p/redis/
官方FAQ: http://code.google.com/p/redis/wiki/FAQ
1.入门手册
redis指南:http://simonwillison.net/static/2010/redis-tutorial/
2.redis的一个大亮点是支持双向列表,单个对象值最大可达1GB,而且list长度可控
3.redis的作者Salvatore被VMware雇佣,可以潜心研究redis
4.redis支持的常见数据类型:binary,lists,sets,sorted sets,hashes,pubsub channels
http://code.google.com/p/redis/wiki/IntroductionToRedisDataTypes
5.redis常用的命令1:exists,keys,rename,expire,expireat,ttl,del,randomkey,renamenx,type
6.redis常用的命令2(strings):set,get,mset,mget,incr,incrby,decr,decrby,append,substr
7.redis操作db的常用命令:select/move/flushdb/flushall/shutdown/slaveof/dbsize/info/monitor/save/bgsave/lastsave/bgrewriteaof
8.redis操作sets的常用命令:select/move/flushdb/flushall/shutdown/slaveof/dbsize/info/monitor/save/bgsave/lastsave/bgrewriteaof
9.jredis(客户端)的源码下载: