Resource icon

Unmaintained Zend Redis Cache 1.6.0

No permission to download
Compatible XF 1.x versions
  1. 1.4
  2. 1.5
Additional requirements
php 5.5+
Redis (v3.0.0 or better)
phpredis (for performance)
License
MIT Licence (add-on), New BSD (Redis Zend component)
Visible branding
No
This add-on packages Cm_Cache_Backend_Redis and Credis with a little glue-code to provide a Zend Cache for Redis. For best performance, install the php extension: phpredis

Troubleshooting

Please be aware that Redis is very sensitive to latency in a virtual environment. If repeated connection failures or protocol errors are experienced disable any Redis Persistence options.

Read Scaling

With the $config['cache']['backendOptions']['load_from_slave'] option, reads can be deferred to a singular slave instance. This takes all the options of 'backendOptions' (except the slave config)

See the FAQ for configuration samples.

High availability

The Zend component support master/slave setups with Redis Sentinel support. It does not support Redis multi-master clustering.
  • Additionally, this add-on implement caching of thread counts in a forum.
  • Redis Sentinel support for high-availability (see FAQ for details).
  • Optionally, pipelining or loading from a slave can be enabled in XenForo_Model_DataRegistry::getMulti by adding the following lines to config.php. Preferably after setting up the cache.

    Code:
    require(XenForo_Application::getInstance()->getConfigDir().'/SV/RedisCache/Installer.php');
  • You must disable pipelining before upgrading to XF2
  • Loading from a slave (limited opt-in support) is only enabled fro public (ie non-admin) pages.
    • APCu or /tmp/local_ips is used to store the list of local IPs fetched via shell_exec for "hostname --all-ip-addresses". If someone knows of a better way of getting all machine IPs, please tell me.
    • Note; APCu isn't recommended.
Zend Cache Tags Support

By default the Zend Cache "tags" support is disabled as XenForo does not use it and it introduces additional operations to support it. To enable;
Code:
$config['cache']['backendOptions']['enable_tags'] = true;

Licencing

Components licenced under; New BSD
  • Cm_Cache_Backend_Redis
  • Credis
Components licenced under; MIT Licence
  • XenForo Add-on code
Installation

I recommend using Add-on install & upgrade to install this add-on.

Contributing features or bug fixes
Please create a GitHub Pull request via the "More Information" link.

Contributions

If you appreciate this add-on, please consider a contribution via PayPal. Details will be provide via private conversation.

Please contact me if you wish for different licencing arrangements.
  • performance_options.webp
    performance_options.webp
    13.8 KB · Views: 2,177
  • Capture.webp
    Capture.webp
    6.4 KB · Views: 1,929
Author
Xon
Downloads
414
Views
6,303
First release
Last update

Ratings

5.00 star(s) 3 ratings

More resources from Xon

Latest updates

  1. 1.6.0 - Feature/Maintenance update

    Support zstd compression New retry_reads_on_master option, when a read to the slave-redis...
  2. 1.5.5 - Maintenance update

    If decompression of fetched content fails, just fail the cache get request. This should be a...
  3. 1.5.4 - Maintenance update

    Update redis stats display to match other stats UI theming Display redis slave stats Ability to...

Latest reviews

When its working, than it brings a better page load in feeling and benchmarks. Installation from Redis Server its a litle bit tricky, but when it works with this addon it works like a charm. Thanks Xon. :)
Used in combination with CentOS 7 and PHP7 as well as Debian 8.2 with PHP7 this addon is simply incredible. It should be included in the XF source since redis is a pretty much fool-proof method of caching non-important data.
Xon thanks for the excellent addon. It's working very nicely on my forums using CentOS 6.7, CentminMod LEMP stack and Redis 3.x server :)
Top Bottom