Redis使用基本套路
2024-10-15 13:42:34
Redis的数据,通常都是来自于数据库。
存入Redis当中,可以快速的查询。不用每次都关联查询,然后其他处理什么的。
通常可以把一些,不经常变的数据存储其中。
避免数据变动,而Redis缓存数据不变,可以为缓存数据设置一个过期时间。
通常Redis存储的数据都是数组进行json加密,而取出的时候,进行json解密就可以了。
变量命名的时候,确保每个key都是唯一的。可以用冒号分割变量。
基础版本:
// 获取题目类型数据
vendor('Func.Red');
$red = Red::create();
$red_result = $red->get('question:type:select');
if (!$red_result) {
// 获取数据
$question_type_model = M('question_type');
$question_type_list = $question_type_model->where(['level'=>2])->order('pid asc,weight desc')->select();
$question_type_select = [];
foreach ($question_type_list as $k => $item) {
$question_type_select[$k]['id'] = $item['id'];
$question_type_select[$k]['name'] = $item['remark']."【".$item['short_name']."】";
}
// 存入Redis
$red->set('question:type:select',json_encode($question_type_select));
} else {
$question_type_select = json_decode($red_result,true);
}
$this->assign('question_type_select',$question_type_select);
定时版本:
// 获取题目类型数据
vendor('Func.Red');
$red = Red::create();
$red_result = $red->get('question:type:select');
if (!$red_result) {
// 获取数据
$question_type_model = M('question_type');
$question_type_list = $question_type_model->where(['level'=>2])->order('pid asc,weight desc')->select();
$question_type_select = [];
foreach ($question_type_list as $k => $item) {
$question_type_select[$k]['id'] = $item['id'];
$question_type_select[$k]['name'] = $item['remark']."【".$item['short_name']."】";
}
// 存入Redis
$red->setEx('question:type:select',3600*24,json_encode($question_type_select));
} else {
$question_type_select = json_decode($red_result,true);
}
$this->assign('question_type_select',$question_type_select);
一天有效。
最新文章
- Reactive Extensions介绍
- HotApp小程序统计之如何接入
- 深入解析direct path read (转)
- 图例解析四大UML关系【转】
- LeetCode 125. Valid Palindrome
- [转]天龙八部服务器端Lua脚本系统
- oracle学习----访问路径
- php 异步处理的gearman
- JAVAEE——BOS物流项目01:学习计划、搭建环境、主页设计(jQuery EasyUI)
- 【C语言编程练习】5.9 爱因斯坦的阶梯问题
- elasticsearch目录
- 百度AI开放平台 情感倾向分析实例以及gbk编码解决
- Confluence 6 启用远程 API
- UI的设计,适配器,以及RecyclerView无法加载的解决办法
- Docker容器学习与分享05
- Struts2技术详解
- C# WinForm下,隐藏主窗体的方法
- Data Provider 中没有.net framework Data provider for Mysql 的解决方法
- FiddLer模拟post不成功的解决办法
- 漫谈 Clustering (5): Hierarchical Clustering