nav*_*ram 5 mysql postgresql acid redis durability
我需要在云上实现一个原子计数器,以从并发连接生成一个串行整数。背后的业务是跟踪服务器。
CREATE SEQUENCE serial CACHE 100; SELECT nextval(sequence)-140 $ / m MultiAZ AWS RDS db.m3.medium的速度不如redis快,但我认为平均<7ms。“缓存”是一项强大的功能,可以提高性能。redis具有INCRBY,而postgres仅具有序列的“缓存”功能,该功能需要往返数据库。
有输入吗?关于这两个或其他选择?
我认为您高估了Redis失败导致无法刷新到磁盘的风险,并低估了任何RDBMS这样做的风险。通过将写入同步到磁盘,可以降低风险。
在redis中,这意味着切换到AOF(仅附加文件)模式,如您已经链接到的持久性链接中所述。
无需进行任何到期的欺骗手段。的原子行为incr和incrby超过足以保证唯一性和耐用性,特别是当与AOF持久性结合起来。
对于此用例,Redis几乎是完美的。它足够快且可扩展。Redis已经存在了一段时间。没有合法的持久性问题,而PostgreSQL或MySQL也没有。
正如@Solarflare所指出的那样,让应用程序一次抓取ID块更具成本效益和可伸缩性。这可以在redis中使用完成incrby。
| 归档时间: |
|
| 查看次数: |
1796 次 |
| 最近记录: |