gpt4 book ai didi

python - 我可以使用复杂的键而不是字符串来访问 Django/Python 缓存解决方案

转载 作者:行者123 更新时间:2023-12-01 07:27:12 24 4
gpt4 key购买 nike

据我了解,Django/Python 的所有缓存解决方案本质上都是基于键/值字典。

cache.store(“key”, “value”)

cache.get(“key”) # <- “value”

我知道有一些装饰器和其他抽象允许您基于 View 函数存储在缓存中,但它们对该函数的输入(例如 POST/GET 参数)是不可知的。

这是我的问题:我需要缓存复杂输入集的计算结果,包括(但不限于)执行请求的用户、字典、 bool 值、ecc...

理论上,我可以将这些输入序列化为字符串,并使用该字符串作为缓存的 key ,但我想知道是否有一些预制的解决方案可以解决这个问题。

类似这样的事情:

def my_view(request):

output = cache.get(request, None)
if output is None:
output = complex_stuff(request) # <- can be serialized as string
cache.store(request, output)

或者,更好的是,我可以使用任意字典作为键,而不是字符串。

这不仅仅是针对每个用户的缓存 ( Django per user view caching )。每个用户的缓存是不够的,因为我需要每个用户每个用户输入。

最佳答案

我想你可以试试这个包,django-cache-memoize ,它自动内存参数和关键字参数。或者如果你使用redis,并且需要更多的控制,你也可以尝试我的包Django-Cacheme

关于python - 我可以使用复杂的键而不是字符串来访问 Django/Python 缓存解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57386348/

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