This add-on uses Credis with a custom cache provider for Redis (based off Cm_Cache_Backend_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...
- php 8 compatibility fix
- Support using PHP Redis extension for TLS connections when v5.3.0+ is present. Older version will fall back to the pure php implementation for communicating with a redis server
- Add php7+ type hinting
- Add short (per-user) caching for 'user online' widget. On busy forums this may reduce the contention of xf_session_activity table.
Fix debug mode support for php 7.2 and earlier. Take 2
- Force global namespace for functions which are known to be optimizable to bytecode in php
- Track latest upstream Credis library
- Fix "TypeError: Argument 1 passed to XXXX must be of the type YYYY, bool given" when the decompressor library for content stored in redis unexpectedly disappears
- Fix email rendering
- Prefix known global functions to avoid a current namespace lookup for the function.
- Work-around for non-desirable caching behaviour when CloudFlare (or similar) is forced to cache css.php output
- If css.php would return empty output instead return a 404 and cache in redis for at most a second
- Prevent polluting of caches if the time-stamp is in the future
- Improve XF Cloud support
- config.php are not required if the stock...
- Update library used to talk to redis to version which is confirmed php 8.1 compatible
- Improve compatibility with 3rd party add-ons with caching applied to user's online list
- Fix case where cached forum thread counts may be inaccurate due to insufficiently specific cache key
- Fix php 8.1+ error with phpredis + socket connections
- Workaround for php 8.0.17+/8.1.4+ issue when zlib output compression & serving css
- Fix support for Redis v7+ high-availability using Redis Sentinel
- Add support for redis auth via username/password (vs just password). Requires redis v6+
PHP:
$config['cache']['config']['username'] = 'myUsername'; // requires redis 6+, or for cloud redis installations
$config['cache']['config']['password'] = '....';- Improve SSL/TLS support, exposing tls/ssl options.
PHP:
$config['cache']['config']['server'] = 'ssl://127.0.0.1';
// See...
- Fix several php 8.1 compatibility issues with Redis sentinel usage
- Fix bad default port for raw IP when connnecting to multiple redis sentinels
- Fix possible redis compatibility issue which may result in empty css being returned instead of a 404
- Fix "Short Thread Count Expiry time" and "Thread Count Expiry time" options where swapped.
- Support caching item-counts in @Bob's Review Management System
- Initial php 8.2 compatibility update
- Fix "CredisException: ERR syntax error ", when a non-integer is passed to \XF::app()->cache->save() without php-redis installed. Known to affect Threadmark's rss caching
- Track latest upstream Credis library
- Replace "master/slave" terminology with "primary/replica" terminology. Previous config.php setting will still work.
- Require XenForo 2.2+
- Require php 7.2+
- Track latest upstream Credis library
- Fix some errors from Redis would trigger an unhelpful php type error, instead of a more useful error message
- Correctly implement "saveMultiple" method on the cache interface. This method is not used by XenForo (and apparently any other 3rd party).
- Will be using in an upcoming Cache Permission Checks...
- Track latest upstream Credis library
- When various bulk-thread operations happen (move/merge/delete/approve & admincp "Batch update threads"), purge the cached forum totals to avoid stale page navigation entries.
Uses the job queue to avoid blocking the request.
- Remove displaying if Lua is configured or not, and remove the Lua enable/disable option.
- Lua support was first added to redis v2.6.0, and this add-on required redis v3
- Rework caching provider code in preparation for XenForo 2.3
- XF have documented they are switching from Doctrine/Cache to Symfony/Cache
- I have not tested this on XF2.3, and have coded against the public interfaces of the Symfony/Cache package.
- A future release may be required for...