为什么django应用程序会在redis中创建巨大的密钥

qc6wkl3g  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(245)

我正在kubernetes集群和redis中运行django应用程序(wagtail)。这两部分由django redis连接。这就是我的后端配置

{
    "BACKEND":"django_redis.cache.RedisCache",
    "LOCATION":"redis://redis-service:6379/0",
    "OPTIONS":{
        "CLIENT_CLASS":"django_redis.client.DefaultClient",
        "CONNECTION_POOL_KWARGS":{
            "max_connections":1000
        }
    }
}

这很管用。我可以看到在redis中创建的密钥,而且由于redis的存在,应用程序的速度也很快。
现在真正的问题是每隔一段时间应用程序就会慢一段时间。upong调查发现真正的问题是redis中创建了一个大小约90mb的密钥。处理此关键应用程序需要一些时间,速度会减慢。
为了进行比较,其他密钥总是小于1 mb,只是在一种端点上随机创建了一个密钥,但并不总是这样。
我试图检查内容的关键后取消点击,这是正常的数据量一样,其他键。但是跑步 redis-cli --bigkeys 给出这样的输出

Biggest string found '":1:views.decorators.cache.cache_page.XXXXXXX.GET.9b37c27c4fc5f19eb59d8e8ba7e1999e.83bf0aec533965b875782854d37402b7.en-us.UTC"' has 90709641 bytes

有人见过类似的问题吗?无论如何要调试根本原因。
django redis版本“==4.12.1”
wagtail版本“==2.11.1”
django版本“==3.1.3”

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题