Is there a way to clear some session data from ALL sessions?
caching, global, php, session
Solution
By default, the session data is just serialized files somewhere in your filesystem, and it is possible to go modify all of them to remove the information in question (respecting locking so that you don't step on any currently open sessions).
I don't really recommend it, though. What I would recommend is making a method of signalling that this cached data should be refreshed, like a database-stored timestamp that gets looked at when `session_start()` happens, and if the cached data is older than the timestamp, the cache is flushed.
Problem
In general, I have the following scenario: - Fetch product and its related data from database - Convert fetched data to php 'product' object - cache product object in session The cache is readonly, i.e customers viewing products on the site. But there are calls like `getProductIdsByCategory($categoryId)` and the productIds from these results are cached too, per user, not using the global cache that I've read about. A problem is that if someone on the admin side adds a new product and relates it to a category, then customers will not have the new productId come up in their cached `getProductIdsByCategory` until a new session is started. Is there a way to clear e.g `$_SESSION['x']` from ALL sessions on the server when a new product is added? I don't want to destroy all sessions because customers will then lose their logins etc. Or should I move these cached productId searches to the global cache? p.s am using a custom built cache, not memcached or similar. Thanks