laravel配置Redis多个库的实现方法
Laravel  /  管理员 发布于 5年前   691
导语 经过编译安装和安装扩展之后,Redis 已经可以正常使用了。但是在 laravel 中还需要其他的操作。 安装扩展 要想在 laravel 中使用 Redis,还需要安装 修改配置 配置多个库 经过以上的配置后,多个服务都使用 Redis,如果都使用同一个库,这显然是不合理的。我们可以配置多个连接来解决这个问题。 先来看下 默认是有两个连接的,分别是 可以看到它的 下面修改 接下来在 测试 经过上面的操作,已经修改好了。总结下就是 使用如下代码来测试下 运行以上代码之后,在服务器中使用 可以看到各个库的存储情况 使用 Redis 门面的时候,也可以指定连接 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。predis
扩展。使用 composer require predis/predis
进行安装就可以了。config/database.php
文件,根据需求修改,我这里不需要改动;.evn
文件中 CACHE_DRIVER=redis
;.env
文件中 SESSION_DRIVER=redis
;
Redis 默认有 16 个库,在服务器中设置 redis.conf
的 database
值可以修改。config/database.php
的默认连接'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_DB', 0), ], 'cache' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_CACHE_DB', 1), ], ],
default
和 cache
。下面来看下 config/cache.php
中关于 Redis 的配置'redis' => [ 'driver' => 'redis', 'connection' => 'cache', ],
connection
值是 cache
,也就是使用 config/database.php
中 Redis 的 cache
。config/database.php
的 Redis,添加一个 session 的连接,如下'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_DB', 0), ], 'cache' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_CACHE_DB', 1), ], 'session' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_SESSION_DB', 2), ], ],
.env
中添加 SESSION_CONNECTION=session
。default
使用的是 0 库,cache
使用的是 1 库,session
使用的是 2 库。/** * 测试 Redis 的存储 */ public function testRedis() { // Redis 门面 Redis::setex('facades', 30, 'i am facades'); // Cache Cache::put('cache', 'i am cache', now()->addMinute(30)); // 因为 Cache 默认是 Redis,所有和上面语句相同 // Cache::store('redis')->put('cache', now(), now()->addMinute(30)); }
redis-cli
来看下存储情况config/database.php
中 Redis 的 default
连接,数据存入 0 库;config/cache.php
中 Redis 的 connection
设置为 cache
,理所当然存入的是 1 库;SESSION_CONNECTION=session
配置,正确的存入了 2 库;$redis = Redis::connection('session');$redis->setex('facades_connection', 30, 'i am facades_connection');
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号