gpt4 book ai didi

python - 在内存变量 + Django

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:02 25 4
gpt4 key购买 nike

假设您必须遵循 Python 和 Django 的代码。

OBJECT_CACHE = {}

def get_my_objects(key, *args, **kwargs):
try:
return OBJECT_CACHE[key]
except KeyError:
OBJECT_CACHE[key] = # code to get object
return OBJECT_CACHE[key]

在多个项目运行相同代码库的情况下,这将如何表现? OBJECT_CACHE 对每个项目都是唯一的,还是会与所有项目的对象混合在一起?

最佳答案

它将为每个正在运行的进程提供唯一的“缓存”(多少取决于您的环境和配置)

但无论如何,这不是正确的做法。 Django 内置缓存和内置本地内存缓存,这与您的方法基本相同,但好处是您可以毫不费力地交换“真实”缓存。

将其添加到您的 settings.py 中:

CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-snowflake'
}
}

你就完成了。现在您可以使用标准的 Django 接口(interface)访问缓存:

>>> from django.core.cache import cache
>>> cache.set('my_key', 'hello, world!', 30)
>>> cache.get('my_key')
'hello, world!'

参见 Django docs对于信息。

关于python - 在内存变量 + Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com