【发布时间】:2012-08-24 20:19:59
【问题描述】:
我有一个应用程序,当未优化时,它需要多次写入 postgreSQL 数据库以响应实时信息 - 每秒最多 1 次!!!
因此,我想通过 redis/redisco 或 memcache 缓存此数据流,然后每约 5 分钟在我的 postgreSQL 数据库中执行一次 bulk_create。
据我了解,django memcache 将存储在内存中,但是当需要写入时,可以使 memcache 无效。
另外,我正在考虑将信息放入 redis,可能使用 redisco 模型,并每隔约 5 分钟对数据库执行一次 bulk_create。
三部分问题:
- 哪个选项更适合长期扩展?
- 各有什么优缺点?
- 最后,有没有人有我可以阅读的参考资料/教程?
谢谢!
【问题讨论】:
-
每秒 1 次不太可能对 postgres 造成问题。我建议直接使用 Postgres 进行写入,并使用 Redis 或 Memcached 缓存读取。
-
"当需要写入时,可以使内存缓存无效。"也有可能在写入到达磁盘之前丢失缓存。为数据库缓存写入确实是有风险的。它有点与ACID 中的“D”作斗争。
标签: django postgresql memcached redis