0

我正在构建一个rails应用程序,有一个站点范围的计数器变量(计数器),由不同的页面使用(读取和写入),基本上很多页面都会导致计数器增加,存储这个变量的多线程安全方式是什么所以 1)它是线程安全的,我可能有很多并发用户访问可能会读取和写入这个变量 2)高性能,我最初考虑将这个变量保存在 DB 中,但是想知道是否有更好的方法,因为它可以很高请求量,我不想让这个数据库查询成为我应用程序的瓶颈......

建议?

4

2 回答 2

1

这取决于它是否必须完全准确。假设不是,您可以将其存储在memcached中并偶尔同步到数据库。如果 memcached 崩溃,它会过期(如果配置正确,则不会发生),您必须关闭等,在启动时从数据库重新加载它。

您还可以查看membase。我没有尝试过,但为了简化,它是一个自动持久化到磁盘的分布式 memcached 服务器。

为了获得更好的性能和准确性,您可以查看分片方法。

于 2012-05-17T03:18:52.307 回答
0

那么你需要持久性,所以你必须将它存储在数据库/会话/文件中,AFAIK。

于 2012-05-17T03:16:23.980 回答