# 进阶篇四 Model模型和Redis缓存结合应用 ## 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 结果如图 ![](https://box.kancloud.cn/2878820c57275fe89c1362624f5ef575_626x842.png) > 你自己的访问路径和你的模块控制器有关系 我自己封装了一个RedisHash类 RedisHash类源码 https://www.kancloud.cn/mikkle/thinkphp5_study/384980 > 本节只是讲了一下redis的hash封装后的简单用法,请关注后面课程中Model类中使用Hash快速查询和更新 > 感谢大家关注 交流请加QQ群 321449759 ![](https://box.kancloud.cn/3499008a08e64306c68873288092a057_286x340.png)