Affects Version/s: 2.5, 3.2
Fix Version/s: 3.2
Developer required for these:
Developer required for these: Install APCu and configure it. Restart your web server. Browse to Admin > Plugins > Caching > Stores > APCu Enable testing Browse to Admin > Plugins > Caching > Test performance Make sure that APCu is being tested. Browse to Admin > Plugins > Caching > Configuration Create an APCu instance Map it to the string and config caches Browse the site and make sure everything is OK. Run unit tests
- Install APCu and configure it.
- Restart your web server.
- Browse to Admin > Plugins > Caching > Stores > APCu
- Enable testing
- Browse to Admin > Plugins > Caching > Test performance
- Make sure that APCu is being tested.
- Browse to Admin > Plugins > Caching > Configuration
- Create an APCu instance
- Map it to the string and config caches
- Browse the site and make sure everything is OK.
- Run unit tests
Affected Branches:MOODLE_25_STABLE, MOODLE_32_STABLE
Pull from Repository:
Pull Master Branch:
Pull Master Diff URL:
Sam H created an APC cache store plugin that is available through the Moodle plugins database here https://moodle.org/plugins/view.php?plugin=cachestore_apc.
He has proposed it be included into Moodle core.
Please if you would like to see it included within Moodle by default vote for this issue.
Otherwise if you have thoughts to share please comment.
Russell Smith has updated the code to be based on APCu. The reason for this is that Moodle 3.2 will only support PHP5.6 and PHP7. APCu is supported by both of those version and APC is not. APCu is a port of the shared memory part of APC for use in PHP and is does not interfere with opcache.
Why is the feature useful;
1. It's a very fast cache as it is in shared memory of the server.
2. It can speed up single server installations by putting any relevant caches in shared memory.
3. It can speed up multi-server installations by putting all caches that can use a local store in it. string cache being a very good example of that.
4. It's a very simple installation for basic users.
Why have it in core and not a plugin
1. This is a highly voted for feature. It's in the top 2% votes of open issues at the moment.
2. Installation on most platforms for apcu is as simple as apt-get install php5-apcu or brew install php-apcu, So the same difficulty as installing database support required for Moodle.
3. Users who are not experienced at configuration of plugins or complex services can still quickly benefit from this plugin and not need to install or configure other services.
4. Of all the memory cache options available, this is the one that is supported on PHP7 and on all platforms, mac, linux and windows. Others do not offer this flexibility.