【问题标题】:django problem with shared memcache nodes共享memcache节点的django问题
【发布时间】:2019-10-01 11:42:06
【问题描述】:

我有两个 django 实例在两台服务器上运行,我正在使用 memcached 在我的应用程序中缓存一些数据。 每台服务器都安装了自己的 memcached,我希望我的两个应用程序都可以访问两个缓存,但我不能。当我在缓存中设置一个应用程序的值时,其他应用程序无法访问它

我的 memcached 实例以 root 身份运行,我也尝试过 memcache 和其他用户,但没有解决问题。 为了测试我使用了 django shell,导入缓存类:

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(cmets 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

【问题讨论】:

  • 你有使用 PyLibMCCache 的具体原因吗?
  • 我读过一些基准,说它比 python memcached plot.ly/~jensens/36.embed 有更好的性能,但我也尝试过 python-memcached 作为我的连接器,但它没有解决问题
  • 设置中的位置顺序在所有服务器中必须相同。是这样的吗?
  • 天哪,你拯救了我的一天,解决了我的问题,但我怎么知道

标签: django memcached


【解决方案1】:

设置中的位置顺序在所有服务器中必须相同。请检查它们是否相同?

【讨论】:

    猜你喜欢
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    相关资源
    最近更新 更多