我有一个小django网站,控制一个解剖穹顶和房子自动化。在启动项目时,加载3个json文件:继电器、条件和家庭自动化。为了避免经常读和写到pi4的ssd,我将json文件加载到REDIS中(在应用程序启动时,请参阅下面)。我已经有红葡萄酒在码头运行,因为这个项目使用芹菜。
我的问题是,在将json加载到REDIS之后的几分钟内,它就会清除缓存中的数据。
我在应用程序中以字典(dict)的形式加载json文件。
cache.set("REDIS_ashtreeautomation_dict", dict, timeout=None)并设定
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://redis:6379",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"SERIALIZER": "django_redis.serializers.json.JSONSerializer",
"TIMEOUT": None
}
}}
如果dockers倒闭,我不需要数据持久化,我也不需要db函数。缓存这些文件是理想的,但我需要它们在服务器的整个生命周期中“保持活着”。
谢谢。
发布于 2022-06-23 17:16:05
谢谢凯文。
移动超时解决了这个问题。
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://redis:6379",
"TIMEOUT": None,
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"SERIALIZER": "django_redis.serializers.json.JSONSerializer",
}
}}
我将包括一些代码来捕获长期的REDIS‘驱逐’策略(即重新加载json数据)。我不想钻研红葡萄酒码头。
谢谢
伊恩
https://stackoverflow.com/questions/72732364
复制相似问题