APC позволяет хранить данные внутри ключей, но вы не можете сгруппировать эти ключи.Группы ключей с кешем APC
Так что если я хочу иметь группу, называемую «статьями», и внутри этой группы у меня будут ключи, которые принимают форму идентификатора статьи, я не могу сделать это легко.
articles -> 5 -> cached data
-> 10 -> cached data
-> 17 -> cached data
...
Я мог бы предварить ключ с именем «группы», как:
article_5 -> cached data
article_10 -> cached data
article_17 -> cached data
...
Но это делает его невозможно удалить всю группу, если я хочу :(
A Рабочая решение будет состоять в том, чтобы хранить многомерные массивы (это то, что я делаю сейчас), но я не думаю, что это хорошо, потому что, когда я хочу получать/удалять кэшированные данные, мне нужно сначала получить всю группу. группа имеет один миллион статей в ней, вы можете представить, какой тип массива я буду итерации и se арки
Есть ли у вас лучшие идеи о том, как я могу достичь групповой вещи?
редактировать: нашел другое решение, не уверен, если это намного лучше, потому что я не знаю, насколько надежен пока. Я добавляю специальный ключ с именем
__paths
, который представляет собой в основном многомерный массив, содержащий полные префиксные пути ключей для всех остальных записей в кеше. И когда я запрашиваю или удаляю кеш, я использую этот массив в качестве ссылки, чтобы быстро узнать ключ (или группу ключей), который мне нужно удалить, поэтому мне не нужно хранить массивы и перебирать все ключи ...
Хорошая работа! Я настоятельно рекомендую прочитать этот пост. –
@ EmilVikström Спасибо! Я счастлив, что моя работа была проницательной. – MrGomez