PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存

Redis 可以定期将数据备份到磁盘中(持久化),同时不仅仅支持简单的key/value 类型的数据,同时还提供list,set,hash等数据结构的存储;Memcache 只是简单的key/value 缓存。

 redis 的安装部署参见笔记:Redis 学习笔记与总结1 安装部署 

 

① 开启 redis 服务:

[root@localhost bin]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

 

② 开启 redis 终端:

[root@localhost bin]# ./redis-cli

 

③ 设置缓存值:

127.0.0.1:6379> set index-mk-cache '数据'

 

④ 获取缓存数据:

127.0.0.1:6379> get index-mk-cache

当获取一个不存在的值时返回 nil:

 

⑤ 设置过期时间(用处非常多):

127.0.0.1:6379> setex key 10 'cache'

时间单位为秒

 

⑥ 删除缓存:

127.0.0.1:6379> del key

删除成功时返回 1。

 

 

PHP 操作 Redis

① 安装 phpredis 扩展

把 owlient-phpredis-2.1.1-1-g90ecd17.tar.gz 复制到 /root 目录下

tar -zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz 
cd owlient-phpredis-90ecd17/
/usr/local/php/bin/phpize  
# 如果 上一个命令报错则执行 yum install autoconf
./configure --with-php-config=/usr/local/php/bin/php-config 
make 
make install  

安装完成后显示:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

 

修改 php.ini

vi /usr/local/php/lib/php.ini  

  #查找extension_dir,修改为  extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" 

  #添加redis  

  extension = redis.so  

  #重启apache  

  /usr/local/apache2/bin/apachectl restart

 

② php 链接redis 服务-connect(127.0.0.1,6379)

③ set 设置缓存

在 /usr/local/apache2/htdocs/App 下新建一个 php 程序 setCache.php

vim setCache.php

setCache.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);

$redis->set('name','dee');

然后在命令行中执行php 文件:

/usr/local/php/bin/php -f setCache.php

 

进入 redis 终端:

/usr/local/redis/bin/redis-cli

获取刚才设置的值:

get name

设置成功。

 

④ get 获取缓存

在 /usr/local/apache2/htdocs/App 下新建一个 php 程序 getCache.php

vim getCache.php

getCache.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);

var_dump($redis->get('name'));

执行文件:

/usr/local/php/bin/php -f getCache.php 

php 获取redis 缓存成功。

 

再例,设置缓存失效时间。编辑 setCache.php:

vim setCache.php

setCache.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);

$redis->setex('name',10,'emperor');

 

运行 setCache.php 和 getCache.php

 

 扩展:把redis 的操作封装成类。

 

参考:

linux下Redis与phpredis扩展安装

运作phpize时出现:Cannot find autoconf. Please check your autoconf installation

在Linux中直接用PHP命令来执行PHP文件

 

posted @ 2015-03-18 20:28  nemo20  阅读(1341)  评论(0编辑  收藏  举报
访客数:AmazingCounters.com
2016/05/17 起统计