memcache: стратегия обновления ключей?

Что может быть лучше, чтобы обновить часто существующие ключи в memcache
установить () или заменить ()?

Наблюдение:

Я наблюдал, как множество против заменить влияние на выселения. Кто-нибудь может подтвердить, в чем отличие от точки управления памятью для этих двух операций?

0

Решение

Как упоминалось в наблюдении, мы получаем выселения, когда мы используем операцию set () для обновления известного ключа. Частота обновления нашего ключа действительно непредсказуема и очень высока. Вы можете связать наш случай с какой-то реализацией блокировки для конкурирующего ресурса.

После запуска экспериментов с некоторыми ключами, которые очень часто обновляются. Мы наблюдали, что replace () не вызывает никаких выселений, но set () действительно вызывает выселения.

После просмотра документов memcache Вот а также Вот, пришел к выводу, что

  1. Операция set () всегда вызывает выделение памяти, независимо от того, Это вызывает выселение на плите, где расположен этот ключ.
  2. Операция replace () не выполняет никакого выделения памяти.

Следовательно, для вопроса «обновить часто существующий ключ» замена — лучший вариант, по крайней мере, для нашего варианта использования. Это помогло нам избегать выселений.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]