проблема django с общими узлами memcache - PullRequest
0 голосов
/ 01 октября 2019

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

мои экземпляры memcached работают как root, также я пробовал memcache и других пользователей, но это не решило проблему. для тестирования я использовал оболочку django, класс кэша импорта:

from django.core.cache import cache

установил значение в кеше:

cache.set('foo', 'bar', 3000)

и попытался получить значение из другого моего экземпляра Django:

cache.get('foo')

но ничего не возвращается!

вот мой файл settings.py:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        'LOCATION': [
                     'first app server ip:port',
                     'second app server ip:port']

    }
}

и мой memcached.conf (комментарии deletede):

-d

logfile /var/log/memcache/memcached.log

# -v

-vv

-m 512

-p 11211

-u root

-l 192.168.174.160

# -c 1024

# -k

# -M

# -r

-P /var/run/memcached/memcached.pid

1 Ответ

0 голосов
/ 03 октября 2019

Порядок расположения в настройках должен быть одинаковым на всех серверах. Не могли бы вы проверить, если они одинаковы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...