使用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",
]
>>>
填補缺漏
- 他のコマンドにも応用可です