我使用rediscloud爲我的django安裝提供memcache支持。 它允許設置SASL認證用戶名和密碼(不知道sasl的東西可能是一個問題)。如何使用django爲memcache指定身份驗證信息?
我沒有找到正確的語法從Django的供應他們:
CACHES = {
"default": {
"BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
"LOCATION": "pub-memcache-********.com:17****",
"username": "user",
"password": "pass"
}
}
什麼是正確的語法呢?
編輯:
安裝PyLibMCCache代替,但我無法連接:
在settings.py
os.environ[ 'MEMCACHE_SERVERS' ] = 'pub-****:****'
os.environ[ 'MEMCACHE_USERNAME' ] = '*'
os.environ[ 'MEMCACHE_PASSWORD' ] = '*'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
'LOCATION': 'pub-****.com:****',
'BINARY' : True,
}
}
錯誤:
error 3 from memcached_get(:1:ddd-37041): (0x1068af060) CONNECTION FAILURE, ::rec() returned zero, server has disconnected, host: pub-*.com: -> libmemcached/io.cc:484
當我禁用驗證,我沒有得到這個錯誤。
我的確如此。但我不能捕捉用戶名和密碼。我嘗試在settings.py中添加這個。['MEMCACHE_USERNAME'] ='*' os.environ ['MEMCACHE_PASSWORD'] ='*'或MEMCACHE_USERNAME ='*' MEMCACHE_PASSWORD ='*',它關閉我的連接。 –
根據代碼,這應該足夠了,請參閱https://github.com/django-pylibmc/django-pylibmc/blob/master/django_pylibmc/memcached.py#L70-L71。我會嘗試調試它在那裏插入一個斷點。 – JoseKilo
你會如何設置params.get('USERNAME')?你會在哪裏放USERNAME? –