nice, you have a replication at client side it have a problem since you have race conditions since memcache don't have transaction consider a replication capable database repcache works but i don't know if it's free o bugs... i use it some time ago, and worked nice, just remove memcache and put repcache and change command like no other change is need =) http://repcached.lab.klab.org/
2012/10/11 Kiran Kumar <[email protected]> > Thanks rspadim , it was a mistake from my end i have edited the question > . > > One of the class in Application writes to both the instances of Memcache > . > > On Thursday, 11 October 2012 20:37:46 UTC+5:30, rspadim wrote: > >> are you talking about problem with ACID? >> if yes, maybe you should have a 'lock' to check if the key could or not >> be write/read (like mysql lock tables), there's some NoSQL databases that >> could do it for you, but memcache can't help with locking... (maybe in a >> future version, but not now, it's a cache system not a database...) >> >> >> other point, why you care about delete from memcache1 and 2? check what >> you told: >> "Right now the setup is that , there is NO clustering between Memcache1 >> and Memcache2 because , Memcache1 caches 50% of the data and Memcache2 >> caches the other 50% of the data." >> in other words... memcache1 have key "A" and memcache2 DON'T have key >> "A", maybe you should consider a review of your app? >> >> if you want a replication of your data, you should use a replication >> capable server (there´s some memcache protocol compatible daemons.... >> repcache is one, mysql with nosql+ndb is another, but... what you need is a >> cache? or you want a faster solution than a SQL database?) >> >> >> 2012/10/11 Kiran Kumar <[email protected]> >> >> I am working on a heavy traffic web site , where there will be GB's of >>> data written per minute into our Memcache . So we have decided to use two >>> separate instances of Memcache for the application . >>> >>> Right now the setup is that , there is NO clustering between Memcache1 >>> and Memcache2 because , Memcache1 caches 50% of the data and Memcache2 >>> caches the other 50% of the data. >>> >>> Memcache1 Memcache2 >>> \ / >>> \ / >>> \ / >>> \ / >>> \ / >>> \ / >>> CustomerData >>> >>> So right now as per the set up , there are two Memcache instances for a >>> single application . >>> >>> Now my question is , once we recive a value inside the application , >>> which writes/sets to both the Memcache instances , assume that if a key is >>> read one of the instance of Memcache - 1 , i need to delete the same key on >>> the other instance of memcahce also at the same time , so taht they will be >>> in sync with each other . >>> >>> As per the code point of view once a value is read from Memcache , i am >>> deleting that key . >>> >> >> >> >> -- >> Roberto Spadim >> Spadim Technology / SPAEmpresarial >> > -- Roberto Spadim Spadim Technology / SPAEmpresarial
