阅读(1928) (12)

Laravel 8 与 Redis 交互

2021-07-07 10:18:44 更新

你可以通过调用 Redis facade 上面的方法来与 Redis 交互。 Redis facade 支持动态方法,这意味着你可以在 facade 上调用各种 Redis 命令,这些命令将直接传递给 Redis。在示例中,将通过 Redis facade 上的 get 方法来调用 Redis 上的 GET 命令:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Redis;

class UserController extends Controller
{
    /**
     * 显示给定用户的配置文件
     *
     * @param  int  $id
     * @return Response
     */
    public function showProfile($id)
    {
        $user = Redis::get('user:profile:'.$id);

        return view('user.profile', ['user' => $user]);
    }
} 

如上所述,你可以在 Redis facade 上调用任意 Redis 命令。Laravel 使用魔术方法将命令传递给 Redis 服务器,因此只需传递 Redis 命令所需的参数即可:

Redis::set('name', 'Taylor');

$values = Redis::lrange('names', 5, 10); 

或者,你也可以使用 command 方法将命令传递给服务器,它接受命令的名称作为其第一个参数,并将值的数组作为其第二个参数:

$values = Redis::command('lrange', ['name', 5, 10]);