Just a quick update…

In the run up to the Known 1.0 release, I’ve made a small tweak to the back end caching objects. Essentially, they functionally work the same, but are implemented using symfony cache components.

Further down the line I’m thinking about replacing our cache entirely with symfony in order to allow for easier caching back ends, not to mention the far superior “cache contract” interface.

This is a low level thing, but useful if you’re a plugin developer to know what is coming down the pipe!

It was about time I got to grips with Redis, so I put together a quick plugin for Known to add Redis support.

It provides a PersistentCache derived cache, suitable for using with Known, and also
makes it easier for you to use Redis from your code.


Drop the Redis folder into the IndoPlugins folder of your idno installation.

Due to the way Known loads classes, you don’t need to activate the plugin in order to be able to use the class.

If you want to use the Cache system wide, modify your config.ini as follows:

cache = 'IdnoPlugins\Redis\RedisCache'

Note, you need to use at least Known build 20180630.

Have fun!

» Visit the project on Github...

This week saw the election of a new president of America – triggering a massive spike in hope levels worldwide. At last the Bush years are drawing to a close.

On the Elgg front, I spent a good portion of the week optimising various parts of the system and drastically reducing the number of queries per page.

A lot of this was done by introducing a query cache into database.php which caches the results of individual queries. I also introduced some new delayed execution functionality on database queries – letting you delay some database operations until after the page has been sent to the browser.

All of these tweaks have slashed the number of queries being executed per page.

This week I also began to experiment with memcache – currently caching entities, datalists, metastrings and meta data. Reducing the number of queries per page to ~7 once the cache has been populated.

I also did a little bit of work on the activity stream, river and syndication… but more on this later…