Redis+PHP缓存实例

作者: 程大哥T_T | 来源:发表于2017-09-29 18:30 被阅读417次

    还在学习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
    个人博客

    相关文章

      网友评论

        本文标题:Redis+PHP缓存实例

        本文链接:https://www.haomeiwen.com/subject/jwouextx.html