Redis+PHP缓存实例
2017-09-29 本文已影响417人
程大哥T_T
还在学习redis中,所以本文会持续更新
学习redis一段时间了,发现在网上都有说到使用场景,但是很少具体的实例
下面是我自己通过学习总结出的简单实例,如果有哪里不对欢迎指出
1、使用redis作为网页数据缓存
- 先从数据库取出数据转为json数据存在list中
- 再从list中取出json转为数据调用
redis的速度快得不行,我这数据就200多条,数据库查要1秒多,使用redis就0.0几秒,如果数据更多的话差别就跟明显了,高性能redis 上代码
function tt(){
$buydan = D('shuxin');
$redis =new \Redis();
$redis->connect('127.0.0.1', 6379);
if ($redis->get('putIn') != 'yes') {//第一次进来,缓存数据,比如说我想缓存蔬菜这个分类的所有数据,就用蔬菜这个分类作为键值
$result = $buydan->field('sp_id,sp_name')->where('sp_fen="蔬菜"')->select();
$result2 = $buydan->field('sp_id,sp_name')->where('sp_fen="肉类"')->select();
//蔬菜1
$json=json_encode($result);
//肉类
$json2=json_encode($result2);
$redis->del('shucai', 'routlei', 'putIn');//把键值删除,防止重复
$redis->lPush('shucai', $json);
$redis->lPush('roulei', $json2);
$redis->set('putIn', 'yes');
echo 'PUTIN SUCCESS'."</br>";
} else {//不是第一次
echo 'NO FIRST'."</br>";
}
$this->display();
//对应的模板html就一个input请求 下面的t2
}
//请求地址
function t2(){
$par = I('post.');
$name = $par['name'];
$redis =new \Redis();
$redis->connect('127.0.0.1', 6379);
//获取到数据
$json=$redis->lRange($name, 0, -1);
$res=json_decode($json[0],true);//加true是把json转为数组使用
var_dump($res);
}
Redis得安装和PHP的redis扩展可以看我以前的文章 redis扩展安装
欢迎关注微信公众号:
PHP传播者.jpg
个人博客