zoukankan      html  css  js  c++  java
  • Redis使用基本套路

    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);
    

    一天有效。

  • 相关阅读:
    linux压缩与解压
    simple 单例
    模板字符串
    变量的解构赋值
    let和const关键字
    React的基本认识
    Docker安装Nginx
    jenkins创建工程
    Jenkins系统初始化配置
    在CentOS上使用Docker镜像安装Jenkins
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/9186072.html
Copyright © 2011-2022 走看看