发布网友
共1个回答
热心网友
导读:今天首席CTO笔记来给各位分享关于django推荐使用什么缓存的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
django可以支持哪些缓存系统市面上比较流行的都支持,默认有这些
'django.core.cache.backends.db.DatabaseCache'
'django.core.cache.backends.mmy.DummyCache'
'django.core.cache.backends.filebased.FileBasedCache'
'django.core.cache.backends.locmem.LocMemCache'
'django.core.cache.backends.memcached.MemcachedCache'
'django.core.cache.backends.memcached.PyLibMCCache'
django-redis缓存
如果需要其他缓存系统,可以自己扩展
django的redis怎么用缓存
sudoapt-getinstallredis-server
然后为了能在Django中使用redis,还需要安装redisforDjango的插件:
ipinstalldjango-redis
这是一个开源的项目,github地址是,感谢作者。
那么现在就是在Django的settings中配置了。
如何django中用redis缓存服务器,求详细教程。django-redis中文文档
AndreyAntukh,niwi@niwi.be4.7.0
翻译:RaPoSpectre
1.介绍
django-redis基于BSD许可,是一个使Django支持Rediscache/session后端的全功能组件.
1.1为何要用django-redis?
因为:
持续更新
本地化的redis-pyURL符号连接字符串
可扩展客户端
可扩展解析器
可扩展序列器
默认客户端主/从支持
完善的测试
已在一些项目的生产环境中作为cache和session使用
支持永不超时设置
原生进入redis客户端/连接池支持
高可配置(例如仿真缓存的异常行为)
默认支持unix套接字
支持Python2.7,3.4,3.5以及3.6
1.2可用的django-redis版本
稳定版本:4.7.0
稳定版本:3.8.4
1.3我该使用哪个版本
版本号像3.6,3.7…等的是主要发行版本,会包含向后不兼容的内容.跟多信息请在升级前阅读升级日志.
版本号像3.7.0,3.7.1…等的是小更新或者bug修复版本,一般只会包含bug修复,没有功能更新.
1.4依赖
1.4.1Django版本支持
django-redis3.8.x支持django1.4,1.5,1.6,1.7(或许会有1.8)
django-redis4.4.x支持django1.6,1.7,1.8,1.9和1.10
1.4.2RedisServer支持
django-redis3.x.y支持redis-server2.6.x或更高
django-redis4.x.y支持redis-server2.8
如何在django中使用redis做缓存服务器实现缓存的方式,有多种,本地内存缓存,数据库缓存,文件系统缓存。这里介绍使用Redis数据库进行缓存。
环境
redis
django-redis
配置
settings.py
CACHES={??"default":{????"BACKEND":"django_redis.cache.RedisCache",????"LOCATION":"redis://127.0.0.1:6379/1",????"OPTIONS":{??????"CLIENT_CLASS":"django_redis.client.DefaultClient",??????"PASSWORD":"mysecret"
????}
??}
}
pythonmanage.pycreatecachetable1
缓存有站点缓存,和单个view缓存
站点缓存:?
settings.py
??MIDDLEWARE=[??#站点缓存,注意必须在第一个位置
??'django.middleware.cache.UpdateCacheMiddleware',
??...??#站点缓存,注意必须在最后一个位置
??'django.middleware.cache.FetchFromCacheMiddleware',
]
视图缓存:?
views.py
fromdjango.shortcutsimportrenderfromdjango.views.decorators.cacheimportcache_pagefromcache.modelsimportFoo#在需要缓存的视图上添加装饰器,参数是设置timeout超时时间,单位是秒,@cache_page(60)defindex(request):
??bar=Foo.objects.all()??returnrender(request,'cache/index.html',{'bar':bar})
Django4.0正式发布,新的密码哈希器和Redis缓存后端Django4.0正式发布,4.0版本支持Python3.8、3.9和3.10。随着Django4.0的发布,Django3.2的主流支持已经结束。此版本主要有如下亮点:
重要更新
zoneinfo作为默认时区
Django3.2允许使用非pytz时区。Django4.0是zoneinfo作为默认时区:弃用pytz且将在Django5.0中删除它。zoneinfo是Python3.9标准库的一部分,如果你在使用Python3.8,则会自动安装zoneinfo包。
注意,如果你处于非utc(世界标准时间)时区,且在使用pytznormalize()和localalize()api,那你可能设置了TIME_ZONE,需要审查一下代码。4.x系列版本周期有一个过渡性的use_depreccated_pytz设置,允许从pytz慢慢过渡到zoneinfo,这个设置将在Django5.0中删除。
此外,zoneinfo作者创建的pytz_deprecation_shim包用于帮助从pytz进行迁移,这个包提供shims来安全地移除pytz,还有一个详细的迁移指南,展示如何移动到新的zoneinfoapi。渐进更新可以用pytz_deprecation_shim和use_depreccated_pytz这两个过渡设置。
函数的唯一约束
UniqueConstraint()的新*expressions位置参数可以在表达式和数据库函数上创建函数式唯一约束。例如:
使用该Meta.constraints选项将函数唯一约束添加到模型中。
增加scrypt密码哈希器
新的scrypt密码哈希器比PBKDF2更安全,建议使用。但它不是默认选项,因为它需要OpenSSL1.1以上版本和更多的内存。
Redis缓存后端
新的django.core.cache.backends.redis.RedisCache缓存后端为使用Redis缓存提供了内置支持。此功能需要redis-py3.0.0或更高版本。
基于模板的表单渲染
使用模板引擎渲染表单,如用于表单的render(),get_context()和template_name,用于表单集的五个渲染相关的属性和方法。
次要更新项:
django.contrib.admin
django.contrib.auth
django.contrib.gis
django.contrib.postgres
django.contrib.staticfiles
缓存
新的异步API:django.core.cache.backends.base.BaseCache开始使缓存后端异步兼容。新的异步方法都有a前缀的名称,例如aadd(),aget(),aset(),aget_or_set(),或adelete_many()。
以后a前缀一般会用于方法的异步变体。
CSRF
国际化
通用视图
DeleteView现在使用FormMixin,允许您提供一个Form子类,例如带有确认删除之类的复选框。
日志
管理命令
模块
请求和响应
信号
模板
测试?
Django4.0是一个超大版本更新,除了上述更新以外还包含一些功能的弃用,以及不向后兼容的更新项,完整版更新内容可在更新公告中查看。
结语:以上就是首席CTO笔记为大家介绍的关于django推荐使用什么缓存的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。