您的位置:首页 > 数据库 > Redis

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

2015-03-18 20:28 961 查看
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。

[b]PHP 操作 Redis[/b]

① 安装 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文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐