我有一个应用程序,如果未优化,将需要多次写入 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/