django默认缓存是多大_django-django的六种缓存设置

1、Django缓存作用

由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显

缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作

而是直接从内存或者Redis中之前缓存的内容拿到,并返回

2、Django中提供了6种缓存方式

1.开发调试缓存

# 开发调试缓存(虽然配置上,但实际没有缓存,还是到数据库取)

CACHES = {

'default': {

'BACKEND': 'django.core.cache.backends.dummy.DummyCache', # 引擎

#注: 下面这些参数时公用的,五种缓存都可以使用

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

'OPTIONS':{

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

'CULL_FREQUENCY': 3, # 缓存到达最大个数之后,剔除缓存个数的比例(3就是1/3)

},

}

}

2.内存缓存

# 注:内存缓存本质上就是在内存中维护一个字典,所存储的形式就是字典的键值对组合

CACHES = {

'default': {

'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',

'LOCATION': 'unique-snowflake', #这个参数指定变量名必须唯一

}

}

3.文件缓存

CACHES = {

'default': {

'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',

'LOCATION': os.path.join(BASE_DIR,'cache'), #缓存内容存放的文件夹路径

}

}

4.数据库缓存

# 注:执行创建表命令 python manage.py createcachetable

CACHES = {

'default': {

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

'LOCATION': 'my_cache_table', # 数据库表名(名字是自己取的)

}

}

5: Memcache缓存 两种

# 注:Memcache缓存有两个模块:python-memcached模块、 pylibmc模块

CACHES = {

'default': {

'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',

'LOCATION': '127.0.0.1:11211', #使用ip加端口连接memcached

}

}

CACHES = {

'default': {

'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',

'LOCATION': 'unix:/tmp/memcached.sock', #以文件的形式连本地memcached

}

}

CACHES = {

'default': {

'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',

'LOCATION': [ # memcached天生支持集群

#1 均衡分配

'172.19.26.240:11211',

'172.19.26.242:11211',

#2 调整权重(权重和请求比例成正比)

('172.19.26.240:11211',1),

('172.19.26.242:11211',10),

]

}

}

# 注: pylibmc模块只改变上面'BACKEND'配置为下面样式即可

# 'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值