Ability to extend a stored item's validity period without calling .Store() again
Not sure if it's an Enyim client or Memcache/Membase issue - with the Enyim Membase client when I just want to extend the lifespan of a cached object I have to retrieve the object and then store it back with a new expiry time. Is there a way to just re-set the expiry time by passing the client the object's ID?
Joseph
Looking at the IIS Session State Store Provider implementation I'm just concerned that it's inefficient to have to re-store the session objects on every page view. For websites with high volume of traffic (which is what memcached is supposed to help) it would become a problem.
Yes, I definitely see the use case.
I would say that for now, it will be best for you to monitor and tune the expiration time of your keys high enough to minimize the number of times an active user's session expires and low enough to prevent old sessions from being accessed.
Perry
It's actually a memcache issue and is inherited into all things memcache (Enyim client as well as our Membase server). There has been much discussion about adding a "touch" operation to the memcache protocol to achieve this specific use case. Your request is well received, I will bring it to the attention of our product management.
For the time being, re-storing the item is the only current way to extend the expiry time. If you're concerned about concurrent access to it, you can use the CAS operation to make sure that no changes happen while the item is in flight.
Perry
Forum support is great for free but sometimes you need a guaranteed response time and dedicated resources for your questions or issues.
Consider purchasing enterprise-level support from Membase: http://www.membase.com/products-and-services/overview
Call or email "sales -at- membase -dot- com" today!