I am doing a PHP app and I need to read several xml files containing text and I want show it to the user. This is working without any problems.
The information stored in those files could be cached for a long time as it does not change too often. However, those files tend to be kind of heavy so it could be a bad idea to load them at every request. i'm trying to find a way to load the data in a lazy way maybe by using a singleton and store them somewhere. Si, I still have the following questions:
Thanks a lot
Do not use session parameters. These are typically stored in a text file which is parsed every time you call session_start()
. You should avoid storing anything more than a few bytes there.
Use an external cache system instead. The APC extension offers a simple in-memory user cache, or otherwise you can use Memcached for a cache system that can be shared between many php servers.
Lazy loading is not difficult:
...
private static $my_cached_object = null;
public static function GetMyObject() {
if (null === self::$my_cached_object) {
self::$my_cached_object = load_my_object();
}
return self::$my_cached_object;
}
...