首页>>后端>>Python->django如何进行缓存(django使用redis做缓存)

django如何进行缓存(django使用redis做缓存)

时间:2023-12-02 本站 点击:0

今天首席CTO笔记来给各位分享关于django如何进行缓存的相关内容,其中也会对django使用redis做缓存进行详细介绍,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、django-redis结合drf实现缓存2、如何django中用redis缓存服务器,求详细教程。3、Django 4.0 正式发布,新的密码哈希器和 Redis 缓存后端

django-redis结合drf实现缓存

一、django_redis

1. django-redis 基于 BSD 许可, 是一个使 Django 支持 Redis cache/session 后端的全功能组件.

二、django-redis自身优点:

● 持续更新

● 本地化的 redis-py URL 符号连接字符串

● 可扩展客户端

● 可扩展解析器

● 可扩展序列器

● 默认客户端主/从支持

● 完善的测试

● 已在一些项目的生产环境中作为 cache 和 session 使用

● 支持永不超时设置

● 原生进入 redis 客户端/连接池支持

● 高可配置 ( 例如仿真缓存的异常行为 )

● 默认支持 unix 套接字

● 支持 Python 2.7, 3.4, 3.5 以及 3.6

三、推荐使用版本

四、django_redis基本的使用操作:

五、在django项目中的配置格式

六、自定义redis的工具类

七、自定义redis key协议

八、视图调用缓存

如何django中用redis缓存服务器,求详细教程。

django-redis 中文文档

Andrey Antukh, niwi@niwi.be 4.7.0

翻译: RaPoSpectre

1. 介绍

django-redis 基于 BSD 许可, 是一个使 Django 支持 Redis cache/session 后端的全功能组件.

1.1 为何要用 django-redis ?

因为:

持续更新

本地化的 redis-py URL 符号连接字符串

可扩展客户端

可扩展解析器

可扩展序列器

默认客户端主/从支持

完善的测试

已在一些项目的生产环境中作为 cache 和 session 使用

支持永不超时设置

原生进入 redis 客户端/连接池支持

高可配置 ( 例如仿真缓存的异常行为 )

默认支持 unix 套接字

支持 Python 2.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.1 Django 版本支持

django-redis 3.8.x 支持 django 1.4, 1.5, 1.6, 1.7 (或许会有 1.8)

django-redis 4.4.x 支持 django 1.6, 1.7, 1.8, 1.9 和 1.10

1.4.2 Redis Server 支持

django-redis 3.x.y 支持 redis-server 2.6.x 或更高

django-redis 4.x.y 支持 redis-server 2.8

Django 4.0 正式发布,新的密码哈希器和 Redis 缓存后端

Django 4.0 正式发布,4.0 版本支持 Python 3.8、3.9 和 3.10。随着 Django 4.0 的发布,Django 3.2 的主流支持已经结束。此版本主要有如下亮点:

重要更新

zoneinfo 作为默认时区

Django 3.2 允许使用非 pytz 时区。Django 4.0 是 zoneinfo 作为默认时区:弃用 pytz 且将在 Django 5.0 中删除它。zoneinfo 是 Python 3.9 标准库的一部分,如果你在使用 Python 3.8 ,则会自动安装 zoneinfo 包。

注意,如果你处于非 utc(世界标准时间) 时区,且在使用 pytz normalize() 和 localalize () api,那你可能设置了TIME_ZONE ,需要审查一下代码。4.x 系列版本周期有一个过渡性的 use_depreccated_pytz 设置,允许从 pytz 慢慢过渡到 zoneinfo ,这个设置将在 Django 5.0 中删除。

此外,zoneinfo 作者创建的 pytz_deprecation_shim 包用于帮助从 pytz 进行迁移,这个包提供 shims 来安全地移除 pytz ,还有一个详细的迁移指南,展示如何移动到新的 zoneinfo api。渐进更新可以用 pytz_deprecation_shim和use_depreccated_pytz 这两个过渡设置。

函数的唯一约束

UniqueConstraint() 的新 *expressions 位置参数可以在表达式和数据库函数上创建函数式唯一约束。例如:

使用该 Meta.constraints 选项将函数唯一约束添加到模型中 。

增加 scrypt 密码哈希器

新的 scrypt 密码哈希器比 PBKDF2 更安全,建议使用。但它不是默认选项,因为它需要 OpenSSL 1.1 以上版本和更多的内存。

Redis 缓存后端

新的 django.core.cache.backends.redis.RedisCache 缓存后端为使用 Redis 缓存提供了内置支持。此功能 需要 redis-py 3.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 子类,例如带有确认删除之类的复选框。

日志

管理命令

模块

请求和响应

信号

模板

测试 ¶

Django 4.0 是一个超大版本更新,除了上述更新以外还包含一些功能的弃用,以及不向后兼容的更新项,完整版更新内容可在 更新公告 中查看。

结语:以上就是首席CTO笔记为大家整理的关于django如何进行缓存的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django使用redis做缓存、django如何进行缓存的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/10222.html