Hi, everyone

I found a question on Stack Overflow which is about race condition which is 
not easy to solve:
http://stackoverflow.com/questions/7802772/cache-consistency-when-using-memcached-and-a-rdbms-like-mysql

the question is:

I have taken a database class this semester and we are studying about 
maintaining cache consistency between the RDBMS and a cache server such as 
memcached. The consistency issues arise when there are race conditions. For 
example: 1. Suppose I do a get(key) from the cache and their is a cache 
miss. Because I get a cache miss, I fetch the data from the database, and 
then do a put(key,value) into the cache. 2. But, a race condition might 
happen, where some other user might delete the data I fetched from the 
database. This delete might happen before I do a put into the cache.

Thus, ideally the put into the cache should not happen, since the data is 
longer present into the database. 

If the cache entry has a TTL, the entry in the cache might expire. But 
still, their is a window where the data in the cache is inconsistent with 
the database. 


Does anyone know how to prevent race condition in that scenario? 

Thanks in advance.

Best Regards,

Steve




-- 

--- 
You received this message because you are subscribed to the Google Groups 
"memcached" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to memcached+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to