我正在 Laravel 上使用 Redis 迈出第一步,我发现了一些奇怪的东西。
在我的设置中使用 Redis 作为缓存驱动程序时,加载页面需要很长时间。
我怎么知道?当不使用 Cache 门面而直接使用 Redis 门面时,响应时间只是一小部分。我从头开始安装 laravel 并为简单的文章模型构建迁移和播种器。
首先,我认为这些项目没有存储在 redis 中,因为在使用 KEYS * 搜索时 redis-cli 没有显示它们。我发现缓存存储在另一个数据库中REDIS_CACHE_DB 如在 config/database.php 中找到的,redis-cli 中的 INFO 键空间列出了这两个名为 0 和 1 的数据库。
我认为问题可能是由我使用 Mamp Pro 设置的本地主机引起的。所以我切换到 Laravel Homestead box 并将我的项目上传到那里。同样在这里。
这是我正在使用的代码:routes/web.php
use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Facades\Cache;
use Illuminate\Http\Request;
use App\Article;
Route::get('/get-articles-mysql', function (Request $request) {
return response()->json(Article::take(20000)->get());
});
Route::get('/get-articles-cache', function (Request $request) {
return Cache::remember('posts', 60, function () {
return Article::take(20000)->get();
});
});
Route::get('/get-articles-redis', function (Request $request) {
if($posts …Run Code Online (Sandbox Code Playgroud)