内存缓存是进程之内的,所以不能进程共享:
CACHES = {
'default':{
'BACKEND':'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-snowflake'
}
}
from django.core.cache import cache
def get_terminal_info(self):
if cache.has_key("terminal_info"):
return cache.get("terminal_info")
else:
return {}
def set_terminal_info(self, msm, single_terminal_info):
self.terminal_lock.acquire()
if cache.has_key("terminal_info"):
all_terminal_info = cache.get("terminal_info")
else:
all_terminal_info = {}
if msm in all_terminal_info:
msm_terminal_info = all_terminal_info[msm]
else:
msm_terminal_info = {}
for attr_key in single_terminal_info:
msm_terminal_info[attr_key] = single_terminal_info[attr_key]
all_terminal_info[msm] = msm_terminal_info
cache.set("terminal_info", all_terminal_info, None)
self.terminal_lock.release()
LogUtil.info("save data to cache {} info {}".format(msm, single_terminal_info))


