2016-08-15 900 views
2

我想跟蹤庫存狀態。我們目前使用redis。 目前我們使用Postgres來做到這一點。無論何時庫存在,我們都會增加計數,並且每當庫存用完時,我們都會減少計數。爲了提高效率,我想嘗試redis HIncrBy。 這個操作是否原子? 我應該注意哪些缺陷?redis HINCRBY原子?

回答

5

由於Redis是單線程的,所有東西都是原子的。

+0

因此,本質上可以使用redis來保持原子計數器,而不管我使用的是哪個驅動程序,例如Django中的Python驅動程序或Spring中的Java驅動程序。要更精確地設置堆棧的基礎線程模型,我正在使用 –

+0

正確。 Redis是單線程的,意味着所有的操作都是原子的,因爲沒有併發的讀/寫操作。 – sberry