Redis的应用
http://www.redis.cn/commands.html
http://www.cnblogs.com/ikodota/archive/2012/03/05/php_redis_cn.html
http://redis.readthedocs.org/en/latest/index.html
安装redis及php-redis方法:
1,安装redis,这个比较简单,直接yum安装即可
yum install redis
service redis start 启动redis
2,安装php-redis扩展
这个有点复杂,需要用到phpize生成redis.so扩展,按照官方的文档
git clone https://github.com/nicolasff/phpredis.git
cd phpredis/
phpize
./configure
make && make install
使用phpize的时候需要用到php-devel开发包,但是我们更新了php为最新版本的5.6,yum默认安装的包是5.3,会出现包冲突无法安装,可以使用remi的源:
yum --enablerepo=remi,remi-php56 install php-devel
这样会更新php,安装phpize,再按上面的步骤运行
3,配置php
vim /etc/php.d/redis.ini 添加
extension=redis.so
service php-fpm restart 重启php-fpm即可
4,测试
编写测试php或者直接在phpinfo里面查看是否加载了redis
function MR() { $redis = new Redis(); $redis -> connect(C("REDIS_IP"), C("REDIS_PORT")); return $redis; } function test(){ $redis = MR(); $redis->set("test",1); $redis->get("test"); }
test();
5,应用场景
我们开始使用redis是在一个点评系统,由于点评工作的巨大,需要极快速的响应,我们没有使用Mysql,而是每天晚上将需要点评的数据存储到redis中,工作人员点评的数据读写完全在redis中进行;然后在某个时间再进行数据组装,导入到Mysql;由于导入时使用的是批量导入,所以导入Mysql的速度也非常快;
由于redis是键值对的数据库,怎样将搜索条件存储到redis中,我们利用有限的条件来组装成键(即SQL中产生的where),然后将相应项存储在redis的List中,使用lrange进行分页,基本上所有数据库操作都可以进行。
由于redis的响应非常快,所以很容易的满足了需求;
6,redis的监控
- redis-cli : redis本身的客户端工具,使用进行redis命令行后 使用 info 命令即可查看redis状态;
- redis-info:php的redis基本信息监控,可以监控多台redis服务器;
- phpredisadmin:看名字就知道是php的redis web管理端,用着还挺不错,但是键值一旦过多,php会发生内存溢出;
-
Redis-Live,redis-live使用的是python,需要另外开端口,还是没用这个;