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  '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.--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',); $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',); 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文件

PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存的更多相关文章

  1. PHP 开发 APP 接口 学习笔记与总结 - 静态缓存

    存储静态缓存即把缓存写入文件. file.php <?php class Cache{ //静态缓存文件后缀名 const EXT = 'txt'; //定义缓存文件存放路径 private $ ...

  2. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [3] 首页 APP 接口开发方案 ② 读取缓存方式

    以静态缓存为例. 修改 file.php line:11 去掉 path 参数(方便),加上缓存时间参数: public function cacheData($k,$v = '',$cacheTim ...

  3. PHP开发APP接口学习笔记

    习要点概述1.APP接口简介 2.封装通信接口方法 3.核心技术 4.APP接口实例 服务器和客户端进行接口数据通信:服务器 -->数据库|缓存 -->调用接口 -->客户端 服务器 ...

  4. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [5] 版本设计分析及数据表设计

    APP 版本升级以及 APP 演示 ① 版本升级分析以及数据表设计 ② 版本升级接口开发以及 APP 演示 /** * version_upgrade 版本升级信息表 */ CREATE TABLE ...

  5. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [7] APP 错误日志接口

    APP 上线以后可能遇到的问题: ① APP 强退 ② 数据加载失败 ③ APP 潜在问题 错误日志需要记录的内容 数据表 error_log 字段: id app_id:app 类别 id did: ...

  6. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [6] 版本升级接口开发

    判定 app 是否需要加密:通过 app 表中的 status 字段来判定,加密的字符串为 app 表中的 key 字段. 在获取的客户端和服务器端(数据库表中相应字段)的版本号不一致时,返回 dat ...

  7. PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口

    要求: 1.在一个类中封装多种数据通信方法(JSON,XML),并且只通过一个入口选择需要的数据通信格式 2.客户端开发工程师可以自行选择数据传输格式(GET 方式) response.php < ...

  8. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [4] 首页 APP 接口开发方案 ③ 定时读取缓存方式

    用于 linux 执行 crontab 命令生成缓存的文件 crop.php <?php //让crontab 定时执行的脚本程序 require_once 'db.php'; require_ ...

  9. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式

    方案一:读取数据库方式 从数据库读取信息→封装→生成接口数据 应用场景: 数据时效性比较高的系统 方案二:读取缓存方式 从数据库获取信息(第一次设置缓存或缓存失效时)→封装(第一次设置缓存或缓存失效时 ...

随机推荐

  1. Hadoop入门经典:WordCount

    转:http://blog.csdn.net/jediael_lu/article/details/38705371 以下程序在hadoop1.2.1上测试成功. 本例先将源代码呈现,然后详细说明执行 ...

  2. Struts2中过滤器和拦截器的区别

    拦截器和过滤器的区别: 1.拦截器是基于java的反射机制的,而过滤器是基于函数回调 2.过滤器依赖与servlet容器,而拦截器不依赖与servlet容器 3.拦截器只能对action请求起作用,而 ...

  3. linux 小喇叭 没了

    Waiting for sound system to respond 方法: # pulseaudio --start -D W: main.c: This program is not inten ...

  4. useradd mfs -s /sbin/nologin -M

    创建用户但不建家目录

  5. IIS7 / IIS7.5 URL 重写 HTTP 重定向到 HTTPS(转)

    转自: http://www.cnblogs.com/yipu/p/3880518.html   1.购买SSL证书,参考:http://www.cnblogs.com/yipu/p/3722135. ...

  6. 移除IIS默认的响应头

    在IIS+ASP.NET的运行环境,默认情况下会输出以下的响应头(Response Headers): 那如何移除这些响应头呢?下面我们来一个一个移除. 1. 移除Server 借助IIS URL R ...

  7. wp8

     请问如何在应用内跳转到  显示  来自XX的更多应用?     Windows.System.Launcher.LaunchUriAsync(new Uri("zune:search?pu ...

  8. 微信公众平台网页获取用户OpenID方法

    下面我们一起来看看关于微信公众平台网页获取用户OpenID方法,有需要了解的朋友可以一起来看看吧.用户点击微信自定义菜单view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值 (即网页链接 ...

  9. 【Grunt】关于Grunt可视化的尝试

    使用Grunt遇到的问题? 必须要安装NodeJS 必须安装grunt-cli 需要编写复杂的Gruntfile.js规则 每个项目中必须存在nodejs的grunt模块 不方便管理每一个包含grun ...

  10. open(/dev/ietctl, O_RDWR) 参数含义(转载)

    这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符.一般的写法是i ...