进阶篇四 Model模型和Redis缓存结合应用

https://www.kancloud.cn/mikkle/thinkphp5_study/384979

Redis安装及Redis的PHP扩展安装

Centos系统Redis安装及Redis的PHP扩展安装

https://www.kancloud.cn/mikkle/thinkphp5_study/351134

Redis中Hash类型介绍

大家都知道,redis高速缓存中有多种类型,我们现在先只单单对Hash类型进行讲解介绍.

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

我这人是向来喜欢用代码说话,
直接上代码吧

在api 模块下的 Search 控制器下建立RedisHash方法

    public function RedisHash(){
        $info_1 = AdminNode::get(1);   //对象
        $info_2 = AdminNode::get(2)->toArray();   //数组
        $info_3 = AdminNode::get(3)->toArray();   //数组
        $redis = RedisHash::instance();
        $redis->setHashKey("AdminNode:1")->set($info_1);
        $redis->setTable("AdminNode")->setKey("2")->set($info_2);
        $redis->setTable("AdminNode")->setKey("3")->set($info_3);

        //获取方式  整条数据
        echo "info_1完整数据".PHP_EOL;
        dump($redis->setTable("AdminNode")->setKey(2)->get());
        echo "info_2完整数据".PHP_EOL;
        dump($redis->setHashKey("AdminNode:2")->get());
        echo "info_3完整数据".PHP_EOL;
        dump($redis->setHashKey("AdminNode:3")->get());

        //获取方式  指定字段
        echo "info_1指定字段".PHP_EOL;
        dump($redis->setTable("AdminNode")->setKey("1")->get(["node_name","action_name"]));
        echo "info_2指定字段".PHP_EOL;
        dump($redis->setHashKey("AdminNode:2")->get("node_name,action_name"));
        echo "info_3指定字段".PHP_EOL;
        dump($redis->setHashKey("AdminNode:3")->get("node_name"));

    }

那么我的访问路径为
http://study.mikkle.cn/api/search/redisHash

结果如图

你自己的访问路径和你的模块控制器有关系

我自己封装了一个RedisHash类
RedisHash类源码

https://www.kancloud.cn/mikkle/thinkphp5_study/384980

本节只是讲了一下redis的hash封装后的简单用法,请关注后面课程中Mo

posted @ 2018-04-13 10:08  yangchunlong  阅读(323)  评论(0)    收藏  举报