Is it “better” (more efficient, faster, more secure, etc) to (A) cache data that is used on every page load in the $_SESSION array (but still querying a table for a flag to reload the data fresh), or (B) to load it from the database each time?
I’m using the cache method (A), but I’m worried that with hundreds of users, memory could become an issue? It’s just simple data, like firstname, lastname, birthday, etc.
With either method, there’s still a query being run. Thoughts?
If your data is used on every pages, and is the same for all users, I wouldn’t cache it in $_SESSION (which means having a different copy of that data for each user), but with another mecanism, like :
If your data is not the same for each user (which seems to be the case in your situation, as you are caching names, birthdates, …) :
As a sidenote : if you are doing the same query over and over again, you DB server should cache it by itself (for MySQL, it would go into the “query cache“) ; so, it would not be as bad as you think, I suppose — even if not that much optimized ^^