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 '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 的操作封装成类。
参考:
运作phpize时出现:Cannot find autoconf. Please check your autoconf installation
PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存的更多相关文章
- PHP 开发 APP 接口 学习笔记与总结 - 静态缓存
存储静态缓存即把缓存写入文件. file.php <?php class Cache{ //静态缓存文件后缀名 const EXT = 'txt'; //定义缓存文件存放路径 private $ ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [3] 首页 APP 接口开发方案 ② 读取缓存方式
以静态缓存为例. 修改 file.php line:11 去掉 path 参数(方便),加上缓存时间参数: public function cacheData($k,$v = '',$cacheTim ...
- PHP开发APP接口学习笔记
习要点概述1.APP接口简介 2.封装通信接口方法 3.核心技术 4.APP接口实例 服务器和客户端进行接口数据通信:服务器 -->数据库|缓存 -->调用接口 -->客户端 服务器 ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [5] 版本设计分析及数据表设计
APP 版本升级以及 APP 演示 ① 版本升级分析以及数据表设计 ② 版本升级接口开发以及 APP 演示 /** * version_upgrade 版本升级信息表 */ CREATE TABLE ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [7] APP 错误日志接口
APP 上线以后可能遇到的问题: ① APP 强退 ② 数据加载失败 ③ APP 潜在问题 错误日志需要记录的内容 数据表 error_log 字段: id app_id:app 类别 id did: ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [6] 版本升级接口开发
判定 app 是否需要加密:通过 app 表中的 status 字段来判定,加密的字符串为 app 表中的 key 字段. 在获取的客户端和服务器端(数据库表中相应字段)的版本号不一致时,返回 dat ...
- PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口
要求: 1.在一个类中封装多种数据通信方法(JSON,XML),并且只通过一个入口选择需要的数据通信格式 2.客户端开发工程师可以自行选择数据传输格式(GET 方式) response.php < ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [4] 首页 APP 接口开发方案 ③ 定时读取缓存方式
用于 linux 执行 crontab 命令生成缓存的文件 crop.php <?php //让crontab 定时执行的脚本程序 require_once 'db.php'; require_ ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式
方案一:读取数据库方式 从数据库读取信息→封装→生成接口数据 应用场景: 数据时效性比较高的系统 方案二:读取缓存方式 从数据库获取信息(第一次设置缓存或缓存失效时)→封装(第一次设置缓存或缓存失效时 ...
随机推荐
- tar -cvPf new.tar `rpm -ql vsftpd` 建议不要用绝对路径'/'
tar -cvPf new.tar `rpm -ql vsftpd` 解压这样的压缩包,会在当前用户的家目录下解压:~./xxxx;加参数-C :tar -xvf xxx.tar -C / ;来指定 ...
- 二叉树学习笔记之二叉查找树(BSTree)
二叉查找树即搜索二叉树,或者二叉排序树(BSTree),学习回顾一下有关的知识. >>关于二叉查找树 二叉查找树(Binary Search Tree)是指一棵空树或者具有下列性质的二叉树 ...
- Android中几种定位 方式
介绍的几种定位方式 http://www.cnblogs.com/cuihongyu3503319/p/3863867.html 百度地图api: http://lbsyun.baidu.com/in ...
- phpcms筛选功能
phpcms论坛的看到的-----做筛选功能-----自定义函数 <?php /** * extention.func.php 用户自定义函数库 * * @copyright (C) 2005- ...
- java写入文件的几种方法分享
转自:http://www.jb51.net/article/47062.htm 一,FileWritter写入文件 FileWritter, 字符流写入字符到文件.默认情况下,它会使用新的内容取代所 ...
- 【HTML5】SVG内联
什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺 ...
- pigcms 标签读不出
错误:{pigcms:jc['portrait']} 正确:{pigcms:$jc['portrait']}
- [hive小技巧]使用limit查询变成抽样,而不是全盘扫描
将set hive.limit.optimize.enable=true 时,limit限制数据时就不会全盘扫,而是根据限制的数量进行抽样. 同时还有两个配置项需要注意: 1.hive.limit.r ...
- [MySQL]导入导出
[MySQL]导入导出 一 导入文本数据 1)mysql->load data infile 数据文件c:/mytable.txt 如下:(每一行为一条记录,记录的字段间用tab隔开,最后一个字 ...
- 抓包工具Fiddler的使用
Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发 ...