Django点滴之cache配置
在django里配置cache很简单, 只需要在settings.py 里配置 CACHE_BACKEND就行了。
如:
CACHE_BACKEND = "file:///home/cache/?timeout="
目前(django1.1)支持的缓存方式有:
file: 文件系统
db: 数据库
locmem: 内存
memcached: memcached
dummy: 空实现,用于开发
目前支持的参数配置:
timeout: 缓存有效时长, 单位秒
max_entries: 可以缓存的最大数目, 对file,db,locmem方式有效
cull_frequency: 当缓存的数目到达max_entries时, 就会选出 1/cull_frequency 的数量删掉。 只对file,db,locmem有效。
使用django cache时,需要注意可能会比较影响性能的事项:
1. 在使用file,db,locmem方式时,要注意设置max_entries, cull_frequency。
max_entries默认值是300,
cull_frequency默认是全部删除 ,
2. 在达到最大值后, 挑选需要删除的缓存是随机的, 要根据自己算法去挑选失效的缓存数据,只能自己实现了。
3. 如果要大规模使用,还是用memcached方式靠谱。 django实现的db,file,locmem方式小范围使用还是不错的,方便、快捷。
在django里配置cache很简单, 只需要在settings.py 里配置 CACHE_BACKEND就行了。
如:
CACHE_BACKEND = "file:///home/cache/?timeout="
目前(django1.1)支持的缓存方式有:
file: 文件系统
db: 数据库
locmem: 内存
memcached: memcached
dummy: 空实现,用于开发
目前支持的参数配置:
timeout: 缓存有效时长, 单位秒
max_entries: 可以缓存的最大数目, 对file,db,locmem方式有效
cull_frequency: 当缓存的数目到达max_entries时, 就会选出 1/cull_frequency 的数量删掉。 只对file,db,locmem有效。
使用django cache时,需要注意可能会比较影响性能的事项:
1. 在使用file,db,locmem方式时,要注意设置max_entries, cull_frequency。
max_entries默认值是300,
cull_frequency默认是全部删除 ,
2. 在达到最大值后, 挑选需要删除的缓存是随机的, 要根据自己算法去挑选失效的缓存数据,只能自己实现了。
3. 如果要大规模使用,还是用memcached方式靠谱。 django实现的db,file,locmem方式小范围使用还是不错的,方便、快捷。