如何在Laravel中获取缓存中的所有Redis密钥?

h7wcgrx3  于 9个月前  发布在  Redis
关注(0)|答案(1)|浏览(107)

Laravel中的该高速缓存外观似乎不允许您获取Redis中当前正在缓存的所有键。
我想创建一个端点,这样我就可以检索此信息,并知道我的条目是否正常工作。
我尝试使用Redis facade,但没有成功,使用了以下命令和它们各自的错误

Redis::keys("*");

"Cannot use 'KEYS' with redis-cluster."

Redis::scan("cursor");

"Cannot use 'SCAN' with redis-cluster."
2vuwiymt

2vuwiymt1#

在Redis中,集群,如果你有很多键,建议扫描而不是键。但是,你应该正确使用它。试着用这种方式。

use Illuminate\Support\Facades\Redis;

$cursor = '0'; // Start with initial cursor

do {
    // Scan for keys with current cursor
    list($cursor, $keys) = Redis::scan($cursor);

    foreach ($keys as $key) {
      echo "Key: $key\n";
   }
} while ($cursor !== '0'); // Continue scanning until cursor is '0'

参考:Laravel and redis scan

相关问题