Redis 可以定期将数据备份到磁盘中(持久化),同时不仅仅支持简单的key/value 类型的数据,同时还提供list,set,hash等数据结构的存储;Memcache 只是简单的key/value 缓存。
① 开启 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 的操作封装成类。