Есть отчёты по отчётным датам, на каждую дату я создаю кеш.
Yii::$app->cache->set('report_'.$_GET['DATE_REPORT'].'', $sql, 3600); // ключ 'report_'.$_GET['DATE_REPORT'].''
или
Yii::$app->cache->set('report_'.$_GET['DATE_REPORT'].'', $sql, 3600, new TagDependency(['tags' => 'report_'.$_GET['DATE_REPORT'].''])); // ключ и тег 'report_'.$_GET['DATE_REPORT'].''
Юзера запрашивают отчёты по разным датам. Тем самым создаются кеши с соответствующими ключами.
Например, у нас есть 4 кеша за 01.06.2018, 10.06, 19.06, 20.06.
Есть функционал, в котором юзера могут изменять данные в отчёте за прошлые даты.
Таким образом, если юзер изменит отчёт за 10.06.2018, то мне нужно удалить кеш отчёта за 10.06.2018 и за 19.06, 20.06, т.к. данные более не актуальны. Но не за 01.06, т.к. отчётная дата еще не наступила.
Как мне узнать какие уже есть ключи(теги) кеша для корректного удаления нужных кешей?
Другой пример, я записываю группы данных в кеш с разным тегом:
Yii::$app->cache->set('user_42_profile', 'key1', 1000, new TagDependency(['tags' => 'report-123']));
Yii::$app->cache->set('user_42_stats', 'key2', 1000, new TagDependency(['tags' => 'report-123']));
Yii::$app->cache->set('admin_42_profile, 'key3', 1000, new TagDependency(['tags' => 'super-123']));
Yii::$app->cache->set('admin_42_stats', 'key4', 1000, new TagDependency(['tags' => 'super-123']));
Как мне посмотреть какие теги есть? (название тега)
Это нужно чтобы потом по определенному тегу удалить кеш:
TagDependency::invalidate(Yii::$app->cache, 'report-123');