我有一个应用程序,在未经优化的情况下,需要对postgreSQL数据库进行多次写入以响应实时信息 - 每秒多达1次!
因此,我想缓存这个数据流 - 通过redis / redisco或memcache - 然后每隔~5分钟在我的postgreSQL数据库中执行一次bulk_create。
据我所知,django内存缓存将存储在内存中,但是当需要写入时,可以使内存缓存无效。
或者,我正在考虑将信息放在redis中,可能使用redisco模型,并且每隔约5分钟对数据库执行一次bulk_create。
3部分问题:
谢谢!
答案 0 :(得分:3)
过早优化是万恶之源。 PostgreSQL能够处理繁重的混合读/写工作负载。从那里开始,并根据需要开始探索其他选项,但是对于高端服务器,当它出现时,你将能够在PostgreSQL 9.2上获得每秒大约14000次写入(取决于查询细节)。使用9.1时,最大值为每秒约3000次写入,而差异与锁定行为有关。
不要优化。如果你开始每秒进行数百次写入,那么也许它是值得的。但是,如果这些是简单的写入,那么最好保持架构简单。