如果多个线程访问存储在memcached中的同一个对象会发生什么?
我有一个对象说ObjStore存储在memcached中。
每个线程从memcached中检索ObjStore并更改内容并再次存储到memcached。
同时在另一个模块中,如果我想从memcached中获取相同的ObjStore对象,有时它会返回空对象。
我正在使用memcache 1.4版本。
答案 0 :(得分:1)
Memcached只保留对象的最后版本。如果你得到,修改并且你不能保证put适用于与get相同的值。如果需要同步,可以使用CAS操作(gets
,cas
)。