2015-01-05 2 views
0

Возможно ли изменить ttl (таймаут) записи APC?Изменение тайм-аута кэша APC

Например, если я

apc_store($cache_key, $productInfo, 100);

, но в течение 100 секунд, я хочу, чтобы увеличить до 200. Я хочу, чтобы это было 200 секунд от первоначальной даты создания, сохраняя при этом счетчик совпадений.

Мое предположение заключается в том, что это возможно, потому что в просмотре кеша APC есть last_modified, но я знаю только apc_store.

Я не хочу перезаписывать запись другим apc_store, так как это сбрасывает количество попаданий и дату создания. Таким образом, в момент 0, если бы я сделал TTL из 100, в момент 33 мне пришлось бы сделать TTL равным 167, если бы я хотел, чтобы он истекал в момент времени 200 (это то, что происходит от 100 до 200), это требует поиска дату создания и перезапись данных (не требуется).

Ищет решение, которое позволяет избежать этих проблем.

+0

Честно говоря, я не вижу способа обновить только TTL, не удаляя переменную и не сохраняя ее снова, не теряя число попаданий и дату создания. Похоже, вам нужно с самого начала составлять, если вы хотите TTL 100 или 200. –

ответ

1

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

Рассмотрите возможность использования Memcached, и вы можете использовать touch для достижения этого.

Смежные вопросы