Django来敲门

Django-Redis缓存

2018-01-03  本文已影响66人  不一样的丶我们
CACHES = {
       "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/1",
            "OPTIONS": {
                  "CLIENT_CLASS": "django_redis.client.DefaultClient",
             }
        }
  }
#此处的 flag 定义默认为 false 是为了后面更新缓存使用
  def find_all_person(flag=False) :
      # 缓存中获取数据
      print('缓存中获取数据\n')
      plist=cache.get("plist")

      # 通过参数  flag 判断数据库更新与否,判断缓存是否更新
      if plist is None or flag:
          # 从数据库中查询数据
          print('数据库查询数据')
          plist=person_manager.find_all()

          # 同步到缓存
          print('同步到缓存中")
          cache.set("plist",plist)
      return plist
from . import cache_model  
    
    #查询数据通过缓存中拿取,不再直接向数据库取
    plist=cache_model.find_all_person()

    #每当数据更让时,告诉缓存函数,更新缓存:        
    #更新缓存数据调用缓存函数,传递参数 flag 为 true
    cache_model.find_all_person(True)
上一篇下一篇

猜你喜欢

热点阅读