django - 在 Django 中优化(和缓存?)postgreSQL 写入

标签 django postgresql memcached redis

我有一个应用程序,如果未优化,将需要多次写入 postgreSQL 数据库以响应实时信息 - 每秒多达 1 次!!!

因此,我想缓存此数据流 - 通过 redis/redisco 或 memcache - 然后每隔约 5 分钟在我的 postgreSQL 数据库中执行一次 bulk_create。

据我了解,django 内存缓存将存储在内存中,但在需要写入时可能会使内存缓存无效。

或者,我正在考虑将信息放入 redis,可能使用 redisco 模型,并且每 ~5 分钟对数据库执行一次 bulk_create。

3 部分问题:

  • 哪个选项更适合长期扩展?
  • 各自的优点/缺点是什么?
  • 最后,有没有人有我可以阅读的引用资料/教程?

谢谢!

最佳答案

过早的优化是万恶之源。 PostgreSQL 能够处理繁重的混合读/写工作负载。从那里开始,并根据需要开始探索其他选项,但是对于高端服务器,当 PostgreSQL 9.2 发布时,您将能够在 PostgreSQL 9.2 上获得每秒大约 14000 次写入(取决于查询细节)。在 9.1 中,您每秒最多可写入约 3000 次,差异与锁定行为有关。

先不要优化。如果您开始进入每秒数百次写入,那么也许这是值得的。然而,特别是如果这些是简单的写入,您最好保持架构简单。

关于django - 在 Django 中优化(和缓存?)postgreSQL 写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12191214/

相关文章:

database - Postgres : two foreign keys to same primary key field

caching - Docker:如何在容器中安装memcached

ruby-on-rails - Rails Action Caching用于用户特定的记录

Django 分页和 "current page"

python - "No module named simple"login_required 已贬值

python - 如何在 View 中更改 Django 数据库架构?

sql - 从 2 个不同的表计算(数量 * 价格)的总和

postgresql - 具有@OneToOne 关系的Spring Data JPA 无法更新已持久存在的实体

django - 是否使用 Django-Haystack?

php - Symfony2 - 在内存缓存中存储 session 的错误(安全上下文变空)