Redis Cache By Xon

xF2 Add-on Redis Cache By Xon 2.17.2

No permission to download
  • Workaround for persistent connections and XF2.1 page cache feature causing login failures when using multiple databases in the same redis instance.
  • Track latest upstream Credis library
  • Enable LUA by default (all Redis versions since v2.8 have supported LUA scripting)
  • Multi-DB support when counting keys in Redis instamce
  • Support being a drop in replacement for the stock Redis provider
    • Alias the config key "host" to "server"
Thanks to @DragonByte Tech for contributions
  • Update layout of master Redis server to match server environment report
  • Include free/peak/max memory usage in stats output
New option to default disable XenForo's individual templating css caching.
  • XenForo2 provides per-template css caching which is vulnerable to "thundering herd" cache slamming by introducing unexpected write load which is vulnerable to MySQL locking via insert ... on duplicate key update.
  • This is only an issue for sites which experience large numbers of concurrent users
  • The full CSS output is still cached by whatever caching layer is defined, which saves vastly more time than individual template caching
  • Support zstd compression
  • New retry_reads_on_master option, when a read to the slave-redis instance fails (ie due to the redis instance still loading data), reads will fail-back to the master instance.
  • Confirm php 7.3 compatibility for pure-php redis connector
  • Compat bugfix for phpredis-v3 for exists() function. phpredis-v3 returns a bool, credis/phpredis-v4 return an int, this ensures all backend redis connectors return the same type for the exists function.
  • Make AdminCP redis info block collapsable
  • Ensure cached css entries expire after ~1 hour like stock XenForo caching does.
    • On install, all existing css entries will be purged from the configured redis instance
  • Tweak execution order of class extensions/template modifications/etc to provide predictable ordering
  • Add LICENCE and README.MD to redistributable.
If decompression of fetched content fails, just fail the cache get request. This should be a safe trade-off as if the key returns nothing XF stack should regenerate it.
  • Makes changing compression type a cache flush rather than rendering the site useless until Redis is manually flushed.
Support configuration-less usage to match built-in Redis provider.
  • If no server has been configured try localhost