Changing expiration

Dustin Sallings dustin at spy.net
Sat Sep 29 18:44:53 UTC 2007


On Sep 29, 2007, at 2:13, Nicolai Scheer wrote:

> Store a user's session (from php) in memcached. It's rather time
> consuming to create the data stored in the session. Set the expiration
> to, say, 600 seconds. Now each time the user clicks and loads a new
> page, the session is set again to survive 600 seconds. This way the
> session could be kept alive as long as the user is active.
> I would not want to recreate the whole session data each click, but  
> just
> to make it live a little longer.
>
> What do you think about that?
> Of course, I just could make the session live without any time
> restrictions and save another value in memcached which is then updated
> on access.
> Or I could read the cached data, tweak it a little (if it is an php
> array, e.g. just write to a single array element) and store it again
> with a new timeout without recreating things completely.

	You'll get the same effect with less effort if you just cache it  
without a timeout.  The LRU will automatically track usage and keep  
these things alive.  The ones not being accessed will die off on  
their own.

	Yours has the advantage of specifying a *maximum* amount of time a  
session can live but there's no minimum in either case.  If it's  
important to ensure inactivity leads to dead sessions at a specific  
time, then that wouldn't work... but how often is that really important?

-- 
Dustin Sallings




More information about the memcached mailing list