Назад | Перейти на главную страницу

Можно ли запустить несколько экземпляров одного и того же приложения на одном сервере memcached?

У меня есть два приложения с одинаковым кодом, использующие memcached одинаковыми способами. Отмечает ли memcached разницу между двумя приложениями и безопасно ли запускать их на одном сервере с одним сервером memcached?

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

Вы можете запустить два экземпляра memcache на сервере, прослушивающем разные порты. например

memcached -p 11211 -d

memcached -p 11212 -d

Вам нужно будет только внести небольшое изменение в одну из копий кода, чтобы она подключилась к другому порту memcached.

Без двух экземпляров memcache и небольшого изменения порта я не видел бы способа избежать конфликтов между приложениями.

вы столкнетесь со значением одного и того же ключа.

memcache не знает, кто вставляет данные, но какие данные вставляются. вы можете проверить порт 11211 кэша памяти telnet localhost, но он может быть изменен в вашей среде, затем вставьте из вашего первого приложения значение ключа, получите его с помощью get, а затем сделайте то же самое для второго приложения, если значение, измененное для того же ключа, убедитесь, что вы перезаписали значение для этого ключа.

Я использую тот же сервер memcache, но для каждого приложения я даю пространство имен.

Это может кому-нибудь помочь ...

Несколько экземпляров / серверов memcache в Windows: http://www.rdlt.com/multiple-memcache-instancesservers-on-windows.html