使用 Docker 来开发 PHP,Laradock 系列 2:Redis

PHP

Cache 是你要考虑的第一件事,也是加快应用程序性能的第一件事。任何类型的缓存存储都是有价值的,但内存更可取。说到内存,MemcachedRedis是首选。Memcached 可以说具有更高的性能,但有些人更喜欢 Redis,因为它具有数据持久性的能力。不管你的选择,我仍然选择 Redis,因为这是我想告诉你的,我认为这是最流行的一个 :)

Laradock已经预先配置了 Redis 和 PhpRedisAdmin 服务,让我们来试试吧!

运行 Redis 和 PhpRedisAdmin

我想你已经尝试过并知道如何使用 Laradock,如果没有,你可以在这里开始用Laradock 设置 laravel 应用。

运行 Redis 和 PhpRedisAdmin,简单地运行这个docker-compose 命令:

docker-compose up -d redis redis-webui

执行上述命令后,通过执行docker-compose ps检查容器状态。如果这些服务是这样运行的,那么就都可以了:

           Name                          Command               State                    Ports
---------------------------------------------------------------------------------------------------------------
...
laradock_redis-webui_1        tini -- php -S 0.0.0.0:80        Up      0.0.0.0:9987->80/tcp
laradock_redis_1              docker-entrypoint.sh redis ...   Up      0.0.0.0:6379->6379/tcp
...

我们还可以通过执行docker stats检查这些容器使用的资源量,下面是我运行后得到的结果:

CONTAINER ID        NAME                          CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
b03c9e10d43c        laradock_redis-webui_1        0.03%               4.391MiB / 3.846GiB   0.11%               726B / 0B           14.5MB / 0B         2   
244ddeb2ceb7        laradock_redis_1              0.70%               2.016MiB / 3.846GiB   0.05%               726B / 0B           7.44MB / 0B         4 

我们可以看到,所使用到的资源其实很少。

进入Redis控制台以使用Redis CLI

即使我稍后要告诉你如何使用PhpRedisAdmin,你也有可能想反向开车,希望了解如何在Laradock中使用Redis的CLI命令。要进入控制台,只需运行以下命令:

docker-compose exec redis bash

然后你进入控制台,可以尝试这样的redis cli命令:

C:\Users\drizzer\laradock>docker-compose exec redis bash
root@82596b34b720:/data# redis-cli PING
PONG
root@82596b34b720:/data#

若要退出终端,可以输入exit并回车.

将Redis设置为Laravel应用程序的缓存引擎

如果要进行下一步,请确保已首先安装Redis客户端。它要么是Predis要么是PHPRedis,我将在这里使用Predis。如果你还没有安装Predis,那就通过composer安装一下嘛,执行以下命令将其添加到你的laravel应用程序中就可以了:

composer require predis/predis:^1.0

等你装好predis,确认一下这些值和参数在你laravel中的.env已经写好了:

...

CACHE_DRIVER=redis

REDIS_URL=redis
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379

...

然后,你可以启动一个测试,通过laravel应用程序将值设置为redis。最简单的方法是在routes\web.php中修改默认的laravel路由,如下所示:

...

Route::get('/', function () {
    \Cache::store('redis')->put('Laradock', 'Awesome', 100);
    return view('welcome');
});

...

然后访问你的laravel首页,就可以去PhpRedisAdmin看看结果啦。

PS:上面值为100的第三个参数是创建的缓存的生存周期。

访问 PhpRedisAdmin

当你第一次或者没有 sesiion 访问http://localhost:9987时,系统将提示你输入用户名和密码。输入laradock,你会看到这样的界面:

PHP

默认情况下,我们是在database 0中创建缓存的,你肯定已经看到它了。

PHP


以上是我在 Laradock 中对 Redis 的所有基本用法,在 Laradock 环境中体验 Redis 的乐趣吧!

laravel version used: 6.0 LTS
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://dev.to/dendihandian/redis-in-lar...

译文地址:https://learnku.com/php/t/43009

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!