搜索

首页  >  问答  >  正文

获取Laravel中缓存中的所有Redis键的方法

Laravel 中的缓存外观似乎不允许您获取当前缓存在 Redis 中的所有键。

我想创建一个端点,以便我可以检索此信息并了解我的条目是否正常工作。

我尝试使用 Redis 外观,但使用以下命令及其各自的错误没有成功

Redis::keys("*");

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


Redis::scan("cursor");

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

P粉986860950P粉986860950323 天前467

全部回复(1)我来回复

  • P粉627027031

    P粉6270270312024-02-18 12:01:48

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

    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 和 redis 扫描

    回复
    0
  • 取消回复