1. 程式人生 > >laravel快取 cache(redis)通過key匹配刪除所有的keys

laravel快取 cache(redis)通過key匹配刪除所有的keys

命令列刪除用*匹配

redis-cli keys "*" | grep "products" | xargs redis-cli DEL

在laravel 中使用

use Cache;
//通過$key_nam正則匹配所有值刪除
function forgetByKey($key_name)
{
    $redis = Cache::getRedis();
    $keys = $redis->keys("*$key_name*");
    foreach ($keys as $key) {
        $redis->del($key);
    }      
}

//刪除所有值
function forgetAllValue()
    {
        $redis = Cache::getRedis();
        $keys = $redis->keys("*");
        foreach ($keys as $key) {
            if (strpos($key, $key_name)) {
                $redis->del($key);
            }
        } 
    }

//通過$key_name正則匹配獲取所有值
function getByKey($key_name)
{
    $redis = Cache::getRedis();
    $keys = $redis->keys("*$key_name*");
    foreach ($keys as $key) {
        $redis->get($key);
    }      
}

$key_name = 'content'.$content_id;
getByKey($key_name);
forgetByKey($key_name);