• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

ThinkPHP6 配置使用Redis

武飞扬头像
JSON_L
帮助1

安装Redis

如果未安装redis,请先安装redis,文档可参考:

- windows安装redis

- linux安装redis

 安装predis

项目中需要使用predis来连接和操作redis,我们用composer来安装和加载它。

项目目录命令行执行:

composer require predis/predis

安装过程:

学新通 

配置Redis

在应用配置cache.php文件,file配置后新增redis配置。

打开TP中封装的think\cache\driver\Redis,查看有哪些配置可写。

学新通

 写几个常用的,其他的就不写了。

  1.  
    return [
  2.  
    // 默认缓存驱动
  3.  
    'default' => env('cache.driver', 'file'),
  4.  
     
  5.  
    // 缓存连接方式配置
  6.  
    'stores' => [
  7.  
    'file' => [
  8.  
    // 驱动方式
  9.  
    'type' => 'File',
  10.  
    // 缓存保存目录
  11.  
    'path' => '',
  12.  
    // 缓存前缀
  13.  
    'prefix' => '',
  14.  
    // 缓存有效期 0表示永久缓存
  15.  
    'expire' => 0,
  16.  
    // 缓存标签前缀
  17.  
    'tag_prefix' => 'tag:',
  18.  
    // 序列化机制 例如 ['serialize', 'unserialize']
  19.  
    'serialize' => [],
  20.  
    ],
  21.  
    'redis' => [
  22.  
    // 缓存主机
  23.  
    'host' => '127.0.0.1',
  24.  
    // 缓存端口
  25.  
    'port' => '6379',
  26.  
    // 缓存密码
  27.  
    'password' => '',
  28.  
    // 缓存数据库
  29.  
    'select' => 0,
  30.  
    // 缓存有效期 0表示永久缓存
  31.  
    'timeout' => 0,
  32.  
    // 缓存前缀
  33.  
    'prefix' => ''
  34.  
    ],
  35.  
    // 更多的缓存连接
  36.  
    ],
  37.  
    ];
学新通

Redis连接测试

在TP中发现有两种连接Redis的方式,一种就是TP原有的封装的Redis,即: think\cache\driver\Redis;另一种就是,刚才安装的predis。

TP封装的Redis操作

  1.  
    public function index()
  2.  
    {
  3.  
    // 字符串操作
  4.  
    $conn = new \think\cache\driver\Redis(config('cache.stores.redis'));
  5.  
    $conn->set('name', '张三');
  6.  
    echo $conn->get('name');
  7.  
     
  8.  
    // 集合set操作
  9.  
    $conn = new \think\cache\driver\Redis(config('cache.stores.redis'));
  10.  
    $key = 'user';
  11.  
    $conn->sadd($key, '张三');
  12.  
    $conn->sadd($key, '李四');
  13.  
    $conn->sadd($key, '王五');
  14.  
    $conn->sadd($key, '赵六');
  15.  
    $arr = $conn->smembers($key);
  16.  
    print_r($arr);die;
  17.  
    }
学新通

虽然没有方法提示,但是执行都没问题。

结果如下:

学新通

 predis Redis操作

  1.  
    public function index()
  2.  
    {
  3.  
    // 字符串操作
  4.  
    $conn = new \Predis\Client(config('cache.stores.redis'));
  5.  
    $conn->set('name', '李四');
  6.  
    echo $conn->get('name');
  7.  
     
  8.  
    // 集合set操作
  9.  
    $conn = new \Predis\Client(config('cache.stores.redis'));
  10.  
    $key = 'puser';
  11.  
    $conn->sadd($key, ['张三','李四','王五']);
  12.  
    $arr = $conn->smembers($key);
  13.  
    print_r($arr);
  14.  
    }

有方法和参数提示,提示sadd的第二个参数是数组格式,汗!没提示就错了,跟TP封装的Redis竟然不一样。

结果如下:

学新通

总结:

经过测试,这两种都可以使用,使用TP封装的Redis操作,不需安装;使用predis需要安装;区别只是predis封装的redis操作更多,使用时有相应方法参数提示。大家可以根据自己的需求,挑选使用,推荐使用predis,有方法和参数提示不易出错。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhhagj
系列文章
更多 icon
同类精品
更多 icon
继续加载