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

Reply via email to