使用Laravel获取已缓存到Redis中的键列表

环境

    • Laravel Framework 6.0.3

 

    Redis 4.0.14 (非クラスタモード)

背景 – 背景信息

在Laravel的缓存API中,可以使用Redis作为存储工具,但并没有实现所有Redis命令。

由于没有实现KEYS命令,所以无法直观地调用GET命令等来获取已缓存的键列表。

>>> use Illuminate\Support\Facades\Cache;
>>> Cache::put('key','value');
=> true
>>> Cache::get('key');
=> "value"
>>> Cache::keys('*');
PHP Error:  Call to undefined method Illuminate/Cache/RedisStore::keys() in /var/www/vendor/laravel/framework/src/Illuminate/Cache/Repository.php on line 636

途径 (tú

Redisインスタンス経由でKEYSコマンドを叩きます

## キーを複数登録
>>> Cache::put('key1','value');
=> true
>>> Cache::put('key2','value');
=> true
>>> Cache::put('key3','value');
=> true

## Redisインスタンス経由でKEYSコマンドを叩く
>>> $redis = Cache::getRedis();
=> Illuminate\Redis\RedisManager {#493}
>>> $redis->keys('*');
=> [
     "key2",
     "key1",
     "key3",
   ]
>>>
>>> $redis->keys('*3');
=> [
     "key3",
   ]
>>>

填補缺漏

    他のコマンドにも応用可です

请参考以下文章

广告
将在 10 秒后关闭
bannerAds