Out of curiosity, instead of updating every 10 (or however many) minutes, why not just create a cache table in your database and then update it whenever actions take place? That way, you still get "real time" stats but you still only need a single query on forumhome.
For example, you could:
- update cache whenever a post is made (posts today, total posts)
- update cache whenever a thread is started (total threads, total posts, posts today)
- update cache whenever someone registers (total members, newest member)
...and so on and so forth.
Is it just too much of a pain to implement it that way, or is there something else I am missing?
I like the idea of caching stats, but I am also bent on getting real-time stats.