public function flushKeysForTags($tags)
    {
        $tags = is_array($tags) ? $tags : func_get_args();

        $cache = $this->getCache();

        $store = $cache->getStore();

        if (! $store instanceof RedisStore) {
            // we can't cache forever in this case. we need sets.
            return;
        }

        $connection = $store->connection();

        foreach ($tags as $tag) {
            $segment = $this->getCacheSegmentKey($tag);

            $this->deleteCacheValues($store->getPrefix().$segment, $connection, $cache);

            $cache->forget($segment);
        }
    }