thinkphp5使用redis

php环境使用的lnmp安装包
1.lnmp安装redis(如图)
进入lnmp解压后的目录,执行:./addons.sh install redis

2.thinkphp配置多种缓存
在config.php的cache数组下添加(如图)数组

<?php

'redis'   =>  [
            // 驱动方式
            'type'   => 'redis',
            // 服务器地址
            'host'       => '127.0.0.1',
        ], 


3.这时候就index方法可以访问了,但是hello方法不能访问,
访问hello会说lPush,lgetrange未定义

<?php
namespace app\index\controller;
use think\Cache;
class Index
{    
    private $redis;
    public function __construct()
    {
        $this->redis = Cache::store('redis');
    }

    public function index()
    {
        $arr = ['proid'=>10,'proname'=>'xiaomi1'];
        $res = serialize($arr);
        $this->redis->set("order",$res);
        var_dump($this->redis->get("order"));
    }
    public function hello()
    {
        $arr = ['proid'=>10,'proname'=>'xiaomi1'];
        $res = serialize($arr);
        $this->redis->lPush("order",$res);
        var_dump($this->redis->lgetrange("aaa",0,1000));
    }
}
?>

4.定义redis其他方法的访问(如图)
打开文件thinkphplibrarythinkcachedriverRedis.php在后面追加

<?php
/**
     * 在list左边添加数据
     * @access 
     * @param $key 
     * @param $value
     * @return int
     * @author zsb
     */
    public function lPush($key,$value)
    {
        return $this->handler->lPush($key,$value);
    }

    /**
     * 查看键为$key的列表
     * @access 
     * @param 数据键 $key 
     * @param int $start
     * @param int $end
     * @return list
     * @author zsb
     */
    public function lgetrange($key,$start,$end)
    {
        return $this->handler->lgetrange($key,$start,$end);
    }
解压密码:detechn或www.detechn.com
最后修改:2018 年 12 月 06 日 09 : 44 PM
如果觉得我的文章对你有帮助,请随意赞赏

发表评论