假设我有一个计数器缓存需要在每次页面加载时递增。假设我有 10 个 Web 实例。如何持续增加计数器缓存列?
使用一个 Web 实例即可轻松实现一致性。但是在运行多个实例时,可能会出现竞争条件。
这是一个快速的解释。假设我的计数器缓存列被调用foo_counts
,其起始值为0。如果同时加载2个Web实例,则都实现计数为0。到了增加计数的时候。它们都将计数从 0 增加到 1。
我查看了http://guides.rubyonrails.org/active_record_querying.html#locking-records-for-update
任何想法将不胜感激。