 <p>You want to update a copy of the data (userAs session) without refering to the master set of data. This is just not going to work.</p> <p>With it's shared nothing architecture, this is going to be hard to implement in PHP.</p> <p>The only sensible way to achieve this in anything approaching realtime is to maintain a semaphore for each current user session - and set that semaphore when the session data should be re-loaded. And at that point you <em>must</em> read the data from the database.</p> <p>Much of this could be done within the session handler - which is probably the most sensible place to handle it - but you need to be aware that the semaphore is therefore volatile and code it appropriately (e.g. using optimistic locking around reading/writing the semaphore).</p>