我想在使用Laravel的应用程序中将数组保存到Redis上

首先

我在参与的项目中有机会接触Redis。由于在实施中需要保存数组形式的值到Redis中,因此我进行了相关的研究,现在在这里记录下来。

我想做的事情 (Wǒ zuò de

这次的使用案例是希望将应用程序的用户信息缓存在Redis上。为了简化对话,我们希望以数组形式保存以下信息。

// 親keyはアプリケーション生成のトークン
// それに紐づくvalueはユーザー情報の配列
[
    'ランダムなtoken' => [
        'id' => 1,
        'name' => 'aaaa',
    ]
]

实现的方法

这次的情况下,我们将使用Redis的Hash类型进行保存。
我们将使用Laravel的Redis Facade来执行以下保存操作。

public function save($id, $name, $token): bool
{
    Redis::pipeline(function ($pipe) use ($id, $name, $token) {
        $pipe->hset($token, 'id', $id);
        $pipe->hset($token, 'name', $name);
        $pipe->expire($token, 4000); // 有効期限を設定
    });
}

通过使用hset方法,可以将Hash类型的值保存到同一个key中。
另外,通过使用pipeline方法,可以将所有命令一次性发送到Redis服务器,而不是每个命令都进行网络传输到Redis服务器。

请参考以下链接了解更详细的信息:
https://readouble.com/laravel/8.x/zh/redis.html

广告
将在 10 秒后关闭
bannerAds