缓存

缓存的目的:

1·减轻服务器压力,提升服务器速度,提升用户体验;
2·对处理过的数据,进行存储,再次使用的时候,直接从缓存中取出;
3·默认使用内存及服务器;一种中间数据的介质。

缓存的分类

1·装饰器缓存:
@cache_page(20) 20—>秒单位,缓存保留的时间。
eg:
@cache_page(20)
def testCache(request)
time.sleep(3)
return HttpResponse('你好‘)’
2·基于数据库的缓存:
1·创建缓存表:python manage.py createcachetable [table_name]
2·setting中设置缓存信息
CACHES
default
‘BACKEND’: ‘django.core.cache.backends.db.DatabaseCache’
‘LOCATION’: ‘my_cache_table’
‘TIMEOUT’: 60 * 5 缓存时间以set方法为主
eg:
CACHES={
‘default’:{
‘BACKEND’:‘django.core.cache.backends.db.DatabaseCache’,
‘LOCATION’:‘my_cache_table’,
‘TIMEOUT’:60,
‘KEY_PREFIX’:‘python190x’,
}
}

3·内存级缓存redis:
1·setting中设置:
CACHES={
‘redispython190x’:{
‘BACKEND’:‘django_redis.cache.RedisCache’,
‘LOCATION’:‘redis://127.0.0.1:6379/1’,
‘OPTIONS’:{
‘CLIENT_CLASS’:‘django_redis.client.DefaultClient’
}
}
}
2·Django-redis-cache
使用redis实现django-cache的扩展
操作缓存的API没有发生任何变更
变更的就是连接缓存的配置
常见的有两个实现
django-redis
http://django-redis-chs.readthedocs.io/zh_CN/latest/#django
pip install django-redis
django-redis-cache
https://pypi.python.org/pypi/django-redis-cache/
pip install django-redis-cache
查看redis缓存
select 1
keys *
get :1:news
查看过期时间 tts :1:news
4·多缓存:
CACHES = {
‘default’: {
‘BACKEND’: ‘django.core.cache.backends.db.DatabaseCache’,
‘LOCATION’: ‘my_cache_table’,
‘TIMEOUT’: 60 * 5

},

'redis_backend': {
    "BACKEND": "django_redis.cache.RedisCache",
    "LOCATION": "redis://127.0.0.1:6379/1",
    "OPTIONS": {
        "CLIENT_CLASS": "django_redis.client.DefaultClient",
    }
}

}
写多套配置,定义不同的名字
存入缓存的时候,获取不同的缓存对象
想使用哪个缓存就创建哪个缓存的实例对象

装饰器缓存
	@cache_page(30, cache='cache_name')
	可以使用装饰器 指定想要的数据库
数据库缓存
	 cache = caches['cache_name']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值