【问题标题】:How to delete all the cache using predis in php如何在php中使用predis删除所有缓存
【发布时间】:2016-08-31 10:49:47
【问题描述】:

我正在使用 predis 库来缓存数据。我可以使用

单独删除缓存

$redis->cache->hdel(self::$cacheNamespace, $key);

但我需要在不提供任何密钥的情况下删除所有缓存,有没有办法在 predis 中实现。

【问题讨论】:

    标签: php predis


    【解决方案1】:

    使用 Cache Clear All,开始吧:

    cache_clear_all();
    

    在我看来,你必须使用redis cli:

    redis-cli flushall
    

    欲了解更多信息FlushAll

    【讨论】:

    • 可以,但是我需要使用 predis 客户端以编程方式运行它。
    • 其实我是专门找predis解决方案
    【解决方案2】:

    试试这个:$redis->flushAll();

    【讨论】:

    • $redis->flushall() 在我的版本(1.1)中
    【解决方案3】:

    PHP 方法 Predis\Client::flushAll 代码示例

    predis 相当于 redis-cli FLUSHALL

    public function flushAll()
    {
        $this->_redis->flushAll();
    }
    
    • 从所有数据库中删除数据。

    【讨论】:

      【解决方案4】:

      有两个刷新函数。其中一个适用于所有 Redis 数据库,另一个仅适用于特定的 Redis 数据库。像这样使用它们;

      flushAll()
      

      说明:从所有数据库中删除所有键。

      参数 async (bool) 需要服务器版本 4.0.0 或更高版本

      返回值 布尔值:始终为真。

      例子

      $redis->flushAll();
      

      flushDb()
      

      说明:从当前数据库中删除所有键。

      参数 async (bool) 需要服务器版本 4.0.0 或更高版本

      返回值 布尔值:始终为真。

      例子

      $redis->flushDb();
      

      来源:https://github.com/phpredis/phpredis#flushdb

      【讨论】:

        猜你喜欢
        • 2019-08-26
        • 1970-01-01
        • 2019-10-03
        • 2016-08-18
        • 1970-01-01
        • 2021-08-01
        • 1970-01-01
        • 2019-07-17
        • 2015-01-22
        相关资源
        最近更新 更多