使用 Docker 来开发 PHP,Laradock 系列 2:Redis
Cache 是你要考虑的第一件事,也是加快应用程序性能的第一件事。任何类型的缓存存储都是有价值的,但内存更可取。说到内存,Memcached
和Redis
是首选。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
,你会看到这样的界面:
默认情况下,我们是在database 0
中创建缓存的,你肯定已经看到它了。
以上是我在 Laradock 中对 Redis 的所有基本用法,在 Laradock 环境中体验 Redis 的乐趣吧!
laravel version used: 6.0 LTS
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。