У меня есть два приложения с одинаковым кодом, использующие 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