[wp-hackers] Caching in core? (was: Caching in 2.5: anyone has a file-based caching plugin? )
Knut-Olav Hoven
hovenko at linpro.no
Sun Mar 23 11:09:02 GMT 2008
On Sunday 23 March 2008 11:29:24 Thomas Bukowski wrote:
> On Mar 23, 2008, at 2:30 AM, Mahmoud Al-Qudsi wrote:
> > He says he'll be releasing it soon. If I don't hear back from him,
> > I'll take it on as another caching project to add to the family, if
> > y'all like.
>
> I was thinking of submitting a gsoc proposal on something cache-
> related. Paint me ambitious, but I think there can be a cache solution
> that is acceptable for core inclusion. Obviously database-backed
> caching is the only kind that will be support on *all* deployments of
> WP.
>
> It wouldn't be too difficult to write an db-object-cache.php that
> would serialize objects and put them into the database. Another way to
> do it is to store snippets of HTML, from comments, posts and the like.
>
> Actually - caching can (should?) be integrated into the core, as
> suggested by the "Integrated Caching Solutions" gsoc idea. Right now,
> it consists of dumping files here and there. Instead, WP could ship
> with 1) an admin interface (under "Settings") to enable/disable
> caching, select caching type (db, memcached, etc) and configure these
> caches; 2) a default caching mechanism - most likely, a db-backed one.
I agree that caching should be integrated into the core, and storing it in a
db-backend is fine by me.
Whenever I see heavy load on a PHP application it's allways the database that
is taking the highest load, with bad written SQL statements with X amount of
joins and sorting and function calls like "rand()".
Simple select on an indexed field (key) is very fast and would be a good
solution for storing cache. Just keep in mind not to use function calls (as
mentioned above), because MySQL does not cache any statements having function
calls.
It's also easy to implement TTL too where the TTL is a date in the near future
(like two hours) and issue the SQL statement like this.
DELETE FROM wp_cache WHERE ttl < NOW()
But, of course, not use NOW() but make PHP insert the date into the SQL
statement in "YYYY-MM-DD HH:SS" format (or something) that MySQL supports, to
releave MySQL server for unnessecary function calls... as MySQL doesn't have
enough to do already...? ;)
The ttl column in wp_cache needs to be indexed too.
>
> Caching, I think, is a fairly crucial component of WP. A default
> caching method would raise the traffic a vanilla WP blog can take. I
> suppose there could also be a more official structure for all the
> plugins out there to plug into (pun not intended) - not just the the
> object cache as is now, but also an admin interface.
>
> Is this worth pursuing?
>
> Sorry for hijacking the thread; I hope Stephane/everyone doesn't mind!
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
--
Knut-Olav Hoven
Systemutvikler mob: +47 986 71 700
Linpro AS http://www.linpro.no/
More information about the wp-hackers
mailing list