2013-05-08 96 views
0

如果多個線程訪問存儲在memcached中的同一個對象會發生什麼?多個角色訪問Memcache

我有一個對象說存儲在memcached中的ObjStore。

每個線程都會從memcached中檢索ObjStore,然後更改並重新存儲到memcached。

同時在另一個模塊中,如果我想從memcached中獲取同一個對象ObjStore,有時它會返回空對象。

我正在使用memcache 1.4版本。

回答

1

Memcached只保留最後一個版本的對象。如果你得到,修改並且你不能保證這個賣出價與獲得的價值相同。如果需要同步,則可以使用CAS操作(gets,cas)。

+0

但memcached同步使應用程序變慢。 – 2013-05-09 10:50:17

+0

但在大多數情況下,您不需要同步緩存。 – Jack 2013-05-09 21:20:32