1、缓存
缓存的定义
- 缓存是一类可以更快地读取数据的介质的统称,也指其它可以加快数据读取的存储方式。
- 一般用来存储临时数据,常用介质的是读取速度很快的内存
意义:
- 视图渲染有一定成本,数据库的频繁查询过高;
- 所以对于低频变动的页面可以考虑使用缓存技术,减少实际渲染次数;
- 用户拿到响应的时间成本会更低
- web服务性能调优

2、Django中设置缓存
2.1、缓存方式1 - 数据库缓存(了解)
将缓存的数据存储在您的数据库中
说明:
尽管存储介质没有更换,但是当把一次负责查询的结果直接存储到表里,比如多个条件的过滤查询结果,可避免重复进行复杂查询,提升效率;
Django中配置方法
# 设置数据库作为django的缓存设置CACHES = {'default': {'BACKEND': 'django.core.cache.backends.db.DatabaseCache','LOCATION': 'my_cache_table',"OPTIONS": {"MAX_ENTRIES":300, # 缓存最大数据条数"CULL_FREQUENCY":2, # 缓存条数达到最大值时,删除 1/2 的缓存数据},},}
2.2、缓存方式2 - 本地内存缓存
可以将缓存放到跑Django服务的主机内存里,主要用于测试(测试环境)使用~
理论上,正式上线(生产环境)通常是把缓存存到一个内存型数据库中(例如Redis)
2.2.1、Django-设置Redis缓存
# 设置redis作为django的缓存设置CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache','LOCATION': 'redis://Redis的ip、端口、分库',"OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient","PASSWORD": "你的Redis数据库密码",# "DECODE_RESPONSES": True, #decode_response=True 返回字符串类型,不加返回字节类型},},# 可以写多设置'user': {'BACKEND': 'django_redis.cache.RedisCache','LOCATION': 'redis://Redis的ip、端口、分库',"OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient","PASSWORD": "你的Redis数据库密码",},},}# 配置缓存 Redis 相关REDIS_TIMEOUT = 7 * 24 * 60 * 60CUBES_REDIS_TIMEOUT = 60 * 60NEVER_REDIS_TIMEOUT = 365 * 24 * 60 * 60
CSDN:Django使用Redis进行缓存详细最全流程
https://blog.csdn.net/sinat_29699167/article/details/79699200
脚本之家:Django中redis的使用方法(包括安装、配置、启动)
https://www.jb51.net/article/135175.htm
