基于文件的backend会将每个缓存值分别存储到文件中
配置filesystem缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': r'C:\Users\valex\Documents\Python学习资料\PythonWeb 2-5 django缓存优化',
'TIMEOUT': 60,
'OPTIONS': {
'MAX_ENTRIES': 300,#默认值
'CULL_FREQUENCY': 3#默认值
}
}
}
https://docs.djangoproject.com/en/1.9/topics/cache/
注意事项
目录为绝对路径 要有root权限
结尾的/可以不写
源代码
https://github.com/django/django/blob/master/django/core/cache/backends/filebased.py
测试
manage.py shell
>> from django.core.cache import cache
>>> cache.add('key', 'value')
True
>>> cache.add('k1','v1',version = 'v1')
True
>>> cache.add('k2','v2',version = 'v2')
True
>>> cache.add('key', 'value')
True
>>> cache.add('k1','v1',version = 'v1')
True
>>> cache.add('k1','v12',version = 'v2')
True
>>> cache.set('k','vs')
>>> cache.get('k')
'vs'
>>> cache.set('k1', 'vs1', version='v1')
>>> cache.get('k1')
>>> cache.get('k1', version='v1')
'vs1'
>>> cache.has_key('k')
False
>>> cache.get('k')
>>> cache.get('k1')
>>> cache.has_key('k1')
False
>>> cache._list_cache_files()
['C:\\Users\\valex\\Documents\\Python学习资料\\PythonWeb 2-5 django缓存优化\\2514c70b0e70e644d949d47b70414a71.djcache', 'C:\\Users\\valex\\Documents\\Python学习资料\\PythonWeb 2-5 django缓存优化\\2c50d6ae60faeb73be3f6b409b731768.djcache', 'C:\\Users\\valex\\Documents\\Python学习资料\\PythonWeb 2-5 django缓存优化\\489087976349f36d5c25c049476d6176.djcache', 'C:\\Users\\valex\\Documents\\Python学习资料\\PythonWeb 2-5 django缓存优化\\4bfd5c85daeec62869e70183e1991a34.djcache', 'C:\\Users\\valex\\Documents\\Python学习资料\\PythonWeb 2-5 django缓存优化\\b12324e5940d84d1be512dd531c4b995.djcache']
>>> cache.clear()
>>> cache._list_cache_files()
[]