Группы ключей с кешем APC

APC позволяет хранить данные внутри ключей, но вы не можете сгруппировать эти ключи .

Итак, если я хочу иметь группу под названием «статьи», и внутри этой группы у меня будут ключи, которые принимают форму идентификатора статьи, я не могу сделать это легко.

articles -> 5   -> cached data
         -> 10  -> cached data
         -> 17  -> cached data

         ...

Я мог бы префикс ключа с именем "группы", например:

article_5   -> cached data
article_10  -> cached data
article_17  -> cached data

 ...

Но это делает невозможным удаление всей группы, если я хочу: (

Рабочим решением было бы хранить многомерные массивы (это это то, что я делаю сейчас), но я не думаю, что это хорошо, потому что, когда я хочу получить доступ / или удалить кэшированные данные, мне нужно сначала получить всю группу.Итак, если в группе миллион статей, вы можете представить себе, какой массив я буду повторять и искать

У вас есть лучшие идеи о том, как я могу достичь групповой вещи?


edit: нашел другой решение, не уверен, что оно намного лучше, потому что я еще не знаю, насколько оно надежно. Я добавляю специальный ключ под названием __paths, который, по сути, представляет собой многомерный массив, содержащий полные пути к ключам с префиксом для всех других записей в кэше. И когда я запрашиваю или удаляю кеш, я использую этот массив как ссылку, чтобы быстро найти ключ (или группу ключей), который мне нужно удалить, поэтому мне не нужно хранить массивы и перебирать все ключи ...
6
задан Alex 5 February 2012 в 18:44
поделиться