温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

django cache 缓存系统

发布时间:2020-06-24 10:36:23 阅读:1182 作者:quxf2012 栏目:开发技术
GO开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

django 缓存系统

https://docs.djangoproject.com/en/dev/topics/cache/#the-low-level-cache-api

http://www.ziqiangxuetang.com/django/django-cache.html

可以缓存能被pickle的对象

安装

pip install hiredis django-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''<master host>:<master port>',
		},
	},
}
CACHES['default']=CACHES['redis']			#必须有一个default配置

#使用cache

from django.core.cache import cachescache=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 version 缓存版本

cache.set('my_key''hello world!')#默认为版本一
"SETEX" ":1:my_key" "300" "\x80\x02U\rhello python!q\x01."
 
cache.set('my_key''hello world!', version=2)
redis 命令
"SETEX" ":2:my_key" "300" "\x80\x02U\x03666q\x01."
 
cache.get('my_key',version=2)

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×