欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

缓存

程序员文章站 2022-06-18 23:17:31
...

本地数据库缓存在settings文件中添加:

  CACHES = { 

                'default': { 

                         'BACKEND': 'django.core.cache.backends.db.DatabaseCache', 

                         'LOCATION': 'my_cache_table', }} 

2.在终端:

      python manage.py createcachetable 

      在数据库中就会出现一张'my_cache_table'表

在view中使用:也用了装饰器

 [email protected]_page(60*2) 

 def xxx(request): 

....

使用redis缓存:

1.配置
CACHES = { 

   'default': { 

   'BACKEND': 'django.core.cache.backends.db.DatabaseCache', 

   'LOCATION': 'my_cache_table',

   "BACKEND": "django_redis.cache.RedisCache",

   "LOCATION": "redis://127.0.0.1:6379/1", 

   "OPTIONS": {

             "CLIENT_CLASS": "django_redis.client.DefaultClient", } 

 }}

在views中导入redis数据库对应的cache

from django.core.cache import cache
cache.get(key)
cache.set(key,value)
结合数据库使用:
缓存的参数可以添加:
 CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': redis://127.0.0.1:6379/1',
        'TIMEOUT': 300,  

缓存超时时间(默认300,None表示永不过期,0表示立即过期)

        'OPTIONS':{
            'MAX_ENTRIES': 300,  
最大缓存个数(默认300)

            'CULL_FREQUENCY': 3,                                      

缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3);实际中一般不这么用,太简单粗暴了。

        }
    }
}

转载于:https://www.jianshu.com/p/5b0bcf704ebd