本站首页 返回顶部 关于博主

在Docker中让Laravel使用Redis

PDF版

当小程序扫码签到工具的访问量增大时,数据库的查询时间成了制约性能的瓶颈。

为了提前性能,我们决定使用Redis内存数据库作为缓存,以减少与数据库的交互。

为了达到目的,需要做两件事:

1. 创建Redis服务器。

2. 使用客户端连接到Redis

 

创建Redis服务器

l  拉取Redis镜像

docker pull redis

l  启动Redis镜像

docker run --name myredis -p 16379:6379 -d redis redis-server 

在上面的命令中,-p 16379:6379 的意思是Redis所在Docker的端口6379映射到宿主机的16379端口,意味着当访问宿主机的16379端口时,相当于访问Redis所在Docker6379端口。

–requirepass "mypassword" 表示访问redis的密码为mypassword。

l  验证Redis是否正常启动

进入Redis所在的docker, 输入命令info,能看到redis的信息。

docker exec -it myredis redis-cli 127.0.0.1:6379>info 

 

客户端连接到Redis

在使用 Laravel Redis 之前,通过 Composer 安装 predis/predis 扩展包。

composer require predis/predis

应用程序的 Redis 配置都在配置文件 config/database.php 中。在这个文件里,可以看到 redis 数组里面包含了应用程序使用的 Redis 服务器:

'redis' => [
    'client' => 'predis',
    'default' => [
        'host' => env('REDIS_HOST', 'localhost'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => 0,
    ],
],

.env文件中配置如下信息:

 REDIS_HOST=宿主机IP REDIS_PASSWORD=mypassword REDIS_PORT=16379 

    上面的信息中,mypassword16379就是之前在启动redisdocker使用的密码和参数。

 

这样,Laravel中就可以使用Redis

 

参考资料

Docker安装官方Redis镜像

docker启动redis并设置密码

Laravel 的 Redis 使用指南




请你留言