美文网首页ThinkPHPThinkPHP开发
thinkphp5.1使用redis缓存

thinkphp5.1使用redis缓存

作者: 旅行者xy | 来源:发表于2019-04-30 17:36 被阅读131次

tp5.1出来已经挺久的了,这边记录下tp5.1该怎么使用redis缓存。

安装好redis服务器,php的redis扩展phpredis(https://github.com/phpredis/phpredis#hexists


window安装扩展,可以参考我的另一篇文章:
https://www.jianshu.com/p/b2ba1c565148

tp设置配置

配置很简单,只需要修改config/cache.php为:

return [
    'type' => 'complex',
    // 默认
    'default' => [
        // 驱动方式
        'type'   => 'File',
        // 缓存保存目录
        'path'   => '',
        // 缓存前缀
        'prefix' => '',
        // 缓存有效期 0表示永久缓存
        'expire' => 0,
    ],
    // 文件
    'file' => [
        // 驱动方式
        'type'   => 'File',
        // 缓存保存目录
        'path'   => '',
        // 缓存前缀
        'prefix' => '',
        // 缓存有效期 0表示永久缓存
        'expire' => 0,
    ],
    // redis
    'redis' =>  [
        'type'       => 'redis',
        'host'       => '127.0.0.1',
        'port'       =>  '6379',
        'password'   => '',
        // 全局缓存有效期(0为永久有效)
        'expire'     =>  0,
        // 缓存前缀
        'prefix'     =>  '',
    ],
];

这样,cache就支持文件和redis两种缓存方式了。

使用redis来存储缓存数据:

// 使用文件缓存
Cache::set('name','value',3600);
Cache::get('name');
// 使用Redis缓存
Cache::store('redis')->set('name','value',3600);
Cache::store('redis')->get('name');
// 切换到文件缓存
Cache::store('default')->set('name','value',3600);
Cache::store('default')->get('name');

使用redis的类方法操作

tp5.1的Cache类提供了一个方法,可以返回缓存类型的实例,这样就可以使用Redis类的缓存了

$redis = Cache::store('redis')->handler();
返回的为Redis对象,这样就可以使用Redis类里面的方法来操作redis缓存了。



phpredis扩展提供的方法参考:
https://github.com/phpredis/phpredis#hexists

相关文章