Что может быть лучше, чтобы обновить часто существующие ключи в memcache
установить () или заменить ()?
Наблюдение:
Я наблюдал, как множество против заменить влияние на выселения. Кто-нибудь может подтвердить, в чем отличие от точки управления памятью для этих двух операций?
Как упоминалось в наблюдении, мы получаем выселения, когда мы используем операцию set () для обновления известного ключа. Частота обновления нашего ключа действительно непредсказуема и очень высока. Вы можете связать наш случай с какой-то реализацией блокировки для конкурирующего ресурса.
После запуска экспериментов с некоторыми ключами, которые очень часто обновляются. Мы наблюдали, что replace () не вызывает никаких выселений, но set () действительно вызывает выселения.
После просмотра документов memcache Вот а также Вот, пришел к выводу, что
Следовательно, для вопроса «обновить часто существующий ключ» замена — лучший вариант, по крайней мере, для нашего варианта использования. Это помогло нам избегать выселений.
Других решений пока нет …