Redis使用基本套路
Redis 基本 套路 使用
2023-09-27 14:24:30 时间
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);
一天有效。
相关文章
- CentOS安装Redis及基本配置
- 第三方测评:GaussDB(for Redis)稳定性与扩容表现
- redis基础----->redis的基本使用(一)
- redis中的五种基本的数据结构
- 文件并发(日志处理)--队列--Redis+Log4Net
- linux服务器上离线安装redis
- redis 入门(一)——Linux环境安装测试以及基本命令演示
- redis 基本性能测试说明
- Redis 事务与锁
- Redis快速入门:安装、配置和操作
- redis info
- SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】
- 深入理解Spring Redis的使用 (一)、Spring Redis基本使用
- redis简介(keeper实时报表的基本部分)
- Redis系列十:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
- flask+apscheduler+redis实现定时任务持久化
- redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: 断开的管道 (Write failed)
- ELKStack入门篇(三)之logstash收集日志写入redis
- SpringBoot整合Redis配置MyBatis二级缓存