如何让你的 Django API 快十倍

网站建设3年前发布
81 0 0

在 Django 里写 REST API 是简单的,如何让 API 的速度更快呢?本文分享一种方法:用 Redis 作为缓存,可以让你的 API 的速度提升 10 倍。,这里假定你已经安装了 Redis,并且自己可以按照官方文档写出一个 Django REST API,对 Django 有一定的基础。,首先,让我们安装一个插件:,然后在配置文件 settings.py 中添加一下内容:,然后在 views.py 中导入 redis 并创建一个 redis 实例:,通过在我们的 views.py 中创建一个列表函数来实现 Redis。此视图功能将检查数据是否在 Redis 中。如果在 Redis 服务器中找到数据,则从那里获取数据,如果没有,则从数据库中获取数据并将其存储在 Redis 中以备下次使用,这会导致速度增加,示例代码如下:,在这里 timeout 设置数据在 Redis 服务器中保留多长时间的超时,在这段代码中,它设置为 1 小时。1 小时后,它将自动从 Redis 中删除。,细心的你可能看到了装饰器 log_db_queries,它来测试 API 的访问速度,具体代码如下:,这为我们提供了获取数据所需时间的详细视图,以及数据是否来自数据库或 Redis。,来个使用缓存的前后对比:,使用前:1219.266 ms:,2023030614023231f482367b02936913e0175bbceb86a4997e26471,使用后:134.002 ms:,20230306135916d10e41262ca41269db54577b74fddd84965f9b786,缓存确实有助于提高 Django REST API 的速度,而 Redis 又是最佳的缓存工具,可以从这里获取Django-Redis[1] 的源代码。

© 版权声明

相关文章