Laravel 中的 redis

编辑于 2022-12-31 15:02:36 阅读 606

Redis 在 Laravel 中有两个角色,缓存和数据库

数据库

配置文件 config/database.php

作为数据库使用,有两个REDIS_CLIENT可选,默认是phpredis(php的redis扩展),可选predis(纯php的三方库),两者区别,详见:https://www.cnblogs.com/afeige/p/14385588.html

Redis 门面的使用(Illuminate\Support\Facades\Redis)

下面以phpredis扩展为例

Redis::set('a', 1); //没提示,和connection('default') 一样
Redis::connection()->client()->set('b',1);//和connection('default') 一样
Redis::connection('default')->client()->set('c',1);
Redis::connection('cache')->client()->set('d',1);
app('redis.connection')->set('e', 1); //没提示,和connection('default') 一样

Laravel 的 config/app.php 配置文件包含了 aliases 数组,该数组可用于定义通过框架注册的所有类别名。方便起见,Laravel 提供了一份包含了所有 facade 的别名入口;不过,Redis 别名不能在这里使用,因为这与 phpredis 扩展提供的 Redis 类名冲突。如果正在使用 Predis 客户端并确实想要用这个别名,你可以在 config/app.php 配置文件中取消对此别名的注释。

缓存

配置文件 config/cache.php

    'default' => env('CACHE_DRIVER', 'file'),

默认是file缓存,可以改为redis

Cache::set('foo1', 1);
Cache::store('redis')->set('foo1', 1, 600);//10分钟后过期

广而告之,我的新作品《语音助手》上架Google Play了,欢迎下载体验