We'd like to get the expiration time with the value on a get operation.   
We'd use this new operation mainly for an administrative task--cache 
warming a new group of servers.

At times, we want to deploy a new server group to replace the previous one 
seemlessly--doing so in a way that the client apps don't suffer a 
significant drop in hit rate.  We currently do that by deploying the new 
server group where the remote client processes are dynamically notified 
that the new group is in write-only mode.  We wait for the duration of the 
normal app TTL when the new server group is sufficiently full, then make 
the new server group readable--removing the previous group shortly 
afterward.

Since we have a lot of caches that have different TTL's and we manage the 
caches separately from the client apps that read/write to them, we'd like 
to make this cache warm-up process quicker (and easier operationally).  We 
want to dynamically warm-up the new servers so that we don't need to wait 
for the full TTL before enabling the new servers.  We already can get the 
keys from elsewhere.  We do have the TTL at the time of the write operation 
too.  However, using the TTL from this is a bit more complex than we'd 
like, and we also don't get the latest expiration if a get-and-touch 
operation is used.

Can a new operation (like gete) be added to support this in the binary 
protocol---maybe returning it in the extras part?  If not and we were to 
add it ourselves, would the concept of this type of change be accepted into 
the main memcached source tree?  It would help to know so we can best 
organize the code in a way to most easily merge future memcached 
changes--in case we have to maintain a permanent fork of memcached.

Thanks

Vu

-- 

--- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to