初试redis,比memcached快10倍速

引用python中国某文章里的一段话:
"Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,
在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
问题是这个项目还很新,可能还不足够稳定,而且没有在实际的一些大型系统应用的实例。
此外,缺乏mc中批量get也是比较大的问题,始终批量获取跟多次获取的网络开销是不一样的。"
http://www.okpython.com/bbs/viewthread.php?tid=5085&highlight=redis

    初试redis,从某种意义上讲,memcached已经做的相当不错了。
但经同事介绍,知道了redis,redis的读写速度相当不错,并且可以定时或不定时的将内存中的数据备份到磁盘
真正做到了安全,快捷的目的。
下面我就将我的安装心得写出来,希望解占辉能帮助刚刚接触redis的朋友。
首先获取redis,我一般情况下python中国下载,那里LINUX主流软件基本都有。
http://www.okpython.com/bbs/viewthread.php?tid=5086&highlight=redis
[root@localhost /]# cd /soft
[root@localhost soft]# tar zvxf redis-1.2.6.tar.gz
[root@localhost redis-1.2.6]# make
#复制两个配置文件和命令文件到以下对应目录
cp redis.conf /etc/redis/
cp redis-benchmark redis-cli redis-server /usr/bin/
2.修改部分参数
#设定内核参数
echo 1 > /proc/sys/vm/overcommit_memory
#修改/etc/redis/redis.conf
daemonize yes
logfile /dev/null  #日志文件路径

启动redis
[root@localhost redis-1.2.6]# redis-server /etc/redis/redis.conf
New pid: 983

3.测试服务是否正常
redis-benchmark


====== SET ======
    10000 requests completed in 0.24 seconds
    50 parallel clients
    3 bytes payload
    keep alive: 1

1.15% <= 0 milliseconds
80.95% <= 1 milliseconds
99.66% <= 2 milliseconds
99.70% <= 3 milliseconds
99.73% <= 4 milliseconds
99.76% <= 5 milliseconds
99.78% <= 6 milliseconds
99.81% <= 7 milliseconds
99.83% <= 8 milliseconds
99.85% <= 9 milliseconds
99.87% <= 10 milliseconds
99.89% <= 11 milliseconds
99.91% <= 12 milliseconds
99.93% <= 13 milliseconds
99.95% <= 14 milliseconds
99.96% <= 15 milliseconds
99.98% <= 16 milliseconds
100.00% <= 17 milliseconds
40983.61 requests per second

====== GET ======
    10001 requests completed in 0.11 seconds
    50 parallel clients
    3 bytes payload
    keep alive: 1

48.79% <= 0 milliseconds
99.50% <= 1 milliseconds
99.53% <= 2 milliseconds
99.60% <= 3 milliseconds
99.65% <= 4 milliseconds
99.69% <= 5 milliseconds
99.72% <= 6 milliseconds
99.75% <= 7 milliseconds
99.81% <= 8 milliseconds
99.86% <= 9 milliseconds
99.91% <= 10 milliseconds
99.96% <= 11 milliseconds
100.00% <= 12 milliseconds
90918.18 requests per second

一切正常运转
基于命令行测试:
[root@localhost redis-1.2.6]# redis-cli set spawn king
OK
[root@localhost redis-1.2.6]# redis-cli get spawn
king
下载基于redis的PHP模块:
[root@localhost redis-1.2.6]# cd ..
[root@localhost soft]# svn checkout http://phpredis.googlecode.com/svn/trunk/
[root@localhost soft]# cd trunk/
[root@localhost trunk]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
重编译PHP
[root@localhost trunk]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost trunk]# make && make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
将extension_dir = redis.so加入到php.ini
[root@localhost trunk]# vi /usr/local/lib/php.ini


写个PHP测试代码:
        $redis = new Redis();
        $redis->connect('127.0.0.1',6379);
        $redis->set('spawn','king');
        echo $redis->get('spawn');
         //result:king





另有一个PHP代码的实现版本,可参考以下文件
http://code.google.com/p/redis/source/browse/#svn/trunk/client-libraries/php
不过似乎不好用
以下是官网提供的方法,目前没有发现问题。
http://code.google.com/p/php5-redis/downloads/list

性能测试结果:
SET操作每秒钟 110000 次,GET操作每秒钟 81000 次
效率正好是memcache的10倍以上。
希望解占辉的文章能够帮助大家,有技术问题可以及时与我沟通,jeffxie@gmail.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值