django cache 缓存系统
django缓存系统
https://docs.djangoproject.com/en/dev/topics/cache/#the-low-level-cache-api
http://www.ziqiangxuetang.com/django/django-cache.html
可以缓存能被pickle的对象
安装
pipinstallhiredisdjango-redis-cache
setting中配置
#KEY_PREFIX设置缓存键值的前缀
CACHES={'mysql':{'BACKEND':'django.core.cache.backends.db.DatabaseCache','LOCATION':'cache',},'dummy':{'BACKEND':'django.core.cache.backends.dummy.DummyCache'},'redis':{'BACKEND':'redis_cache.RedisCache','LOCATION':['127.0.0.1:6379',#'<host>:<port>',#'<host>:<port>',],'OPTIONS':{'DB':1,#'PASSWORD':'yadayada','PARSER_CLASS':'redis.connection.HiredisParser','CONNECTION_POOL_CLASS':'redis.BlockingConnectionPool','CONNECTION_POOL_CLASS_KWARGS':{'max_connections':50,'timeout':20,},'PICKLE_VERSION':-1,#'MASTER_CACHE':'<masterhost>:<masterport>',},},}CACHES['default']=CACHES['redis']#必须有一个default配置
#使用cache
fromdjango.core.cacheimportcachescache=caches['redis']#使用redis做为缓存,>>>cache.set('my_key','hello,world!',30)设置一个key并且30秒后过期>>>cache.get('my_key')>>>cache.get_many(['a','b','c'])>>>cache.set_many({'a':1,'b':2,'c':3})>>>cache.delete_many(['a','b','c'])>>>cache.clear()#情况当前所有缓存>>>cache.incr('num')#使当前值+1>>>cache.incr('num',10)#当前值+10>>>cache.decr('num')#值-1>>>cache.decr('num',5)#值-5
cache.set('my_key','helloworld!')#默认为版本一"SETEX"":1:my_key""300""\x80\x02U\rhellopython!q\x01."cache.set('my_key','helloworld!',version=2)redis命令"SETEX"":2:my_key""300""\x80\x02U\x03666q\x01."cache.get('my_key',version=2)
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。