GAE的memcahe API的put(...)
方法接受作爲參數(在它的一個重載實現中)SetPolicy
參數。在Javadocs here它是,如果您選擇「ADD_ONLY_IF_NOT_PRESENT」作爲政策,並且我引述:GAE MemCache行爲的put()+ ADD_ONLY_IF_NOT_PRESENT
「用於避免競爭條件。」
我的問題是:
什麼與設置使用相同的密鑰過期值happends?如果我加入的memcache像(鍵= 1,值=等等),那麼這個項過期,然後我嘗試使用ADD_ONLY_IF_NOT_PRESENT被whatever2添加到高速緩存或不加(鍵= 1,值= whatever2)?
是什麼意思「的比賽條件非常有用」?更具體地講,這是否意味着,如果我用
put(...)
與ADD_ONLY_IF_NOT_PRESENT
SetPolicy我不再需要使用getIdentifiable和putIfUntouched爲了避免競爭條件concurrentlly添加的東西到內存緩存的時候?
感謝名單,這是一個非常明確的答案。但是我覺得有點乏味使用putIfUntouched和getIdentifiable,因爲這意味着我必須在本地(以我目前的應用實例)存儲所有我的某些關鍵檢索的最後一個對象,以與putIfUntouched方法使用它們.. 。 –