gpt4 book ai didi

django - 在表中更新时使缓存无效

转载 作者:IT王子 更新时间:2023-10-29 06:09:35 25 4
gpt4 key购买 nike

假设,如果我的 redis 缓存或任何其他缓存中有一个键,并且有很多针对该键的 GET 查询。键的值取决于模型(表)中的数据。现在,如果通过某个过程在数据库中更新了与该键关联的值,那么我可以通过哪些方式使缓存无效。

最佳答案

您可以使用 Django signals编写一个接收函数来监听 post_save发出信号并清除关联的缓存。例如:

from django.db.models.signals import post_save

@receiver(post_save, sender=Item)
def my_handler(sender, instance, created, **kwargs):
r.delete('item/%d' % instance.pk)

一个更强大的解决方案是使用像 django-cacheops 这样的包.

关于django - 在表中更新时使缓存无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46713449/

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