Redis Cache By Xon

Redis Cache By Xon 2.17.2

No permission to download
  • Major update to redis library fixing a number of inconsistencies between pure php & php-extension modes.
    • This is not a breaking change for my redis add-ons.
    • All unit tests should pass
    • For custom code, the following redis commands have breaking changes:
      • pipeline/multi/exec fixes
        • Impacts; hmget/hgetall/info/ttl/scan/sscan/hscan/zscan/zrangebyscore/zrevrangebyscore/zrange/zrevrange
      • zrange/zrevrange in php extension mode now works.
      • hmget now returns consistent data format for all combinations of; normal/pipeline/multi with pure-php/extension.
      • Errors from Redis are now prefixed with "ERR " in both pure-php like from the php extension.
      • Improved logic around closing the connection to Redis (should make persistent mode stable)
Known issue:
  • In php 7.x, with the php extension, pub/sub subscribing can cause memory corruption.
    • 3.1.4RC3 is known to fix this.
  • Add igbinary support, and default to it.
    • Will require clearing the redis cache. ie
      Code:
      redis-cli flushall
  • Fix "Must pass valid resource"
  • Like
Reactions: eva2000 and Robru
  • Support storing gz'ed encoded data raw in Redis and passing that to the client rather than decompression & recompression in php.
    • If the client doesn't support gz'ed data, it is decompressed and sent.
  • Workaround XF2.0 Beta 1 bug which disable any sort of caching for CSS
    • Css generation to be cache is independent of sending the flags to the browser indicating css can be cached.
  • Like
Reactions: eva2000
Revert using json encoding due to binary data in strings which causes encoding issues
  • Like
Reactions: eva2000
Features:
  • Port Forum thread count caching from XF1 -> XF2 version of the add-on
Bugfixes:
  • v1.x.y is XF1, so bump to v2.x.y
  • Track latest credis
  • Cleanup of phpdocs and random typing issues
  • Workaround for Forum statistics always regenerating due to binary data being stored in a string (json_encode doesn't like this).
  • Fix multi-fetch still using namespace mangling when saving was not. ie each pageload was forcing cache rebuilds by mistake.
  • Like
Reactions: eva2000
  • Switch to using json encode/decode for serialization, may not round-trip 100% correctly but by design.
    • As this add-on is used to cache potentially untrusted data, serialize/unserialize are strongly not recommended.
  • Replace Doctrine Cache key mangling. The practice of injecting [ and ] into key names makes working with redis-cli annoying (most linux shells require [ or ] to be escaped in a confusing list of situations), and requires further escaping when using Redis KEYS or SCAN commands.
  • Like
Reactions: eva2000 and Liam W
  • Merge recent XF1 Redis Cache into XF2 version, including upstream changes
  • Fix throwing exceptions on error.
  • Like
Reactions: bousaid
Top Bottom