[英]django-redis persisting json data
我有一個小型 django 站點,它控制着天文圓頂和房屋自動化。 項目啟動時會加載 3 個 json 文件:繼電器、條件和家庭自動化。 為了避免不斷地讀取和寫入 Pi4 的 ssd,我將 json 文件加載到 REDIS(在應用程序中啟動時,見下文)。 由於項目使用芹菜,我已經在 docker 中運行了 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
}
}
}
如果碼頭工人宕機並且我不需要數據庫函數,我不需要數據保持不變。 緩存這些文件是理想的,但我需要它們在服務器的整個生命周期內“保持活力”。
謝謝你。
謝謝凱文。
移動 TIMEOUT 解決了這個問題。
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 數據)。 我不想深入研究 REDIS docker。
謝謝
伊恩
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.