Resource icon

Zend Redis Cache 1.6.0

No permission to download
What does this thing do?


How does it work and what's the advantage of having it enabled?
It enables support for expiring cache items by tags. XenForo doesn't use it, and other cache providers that XenForo use do not support it. I very much doubt any other XF add-on would use it.

It just causes extra writes against the redis-back store.

You shouldn't need it but there is an escape hatch to enable it, if it actually breaks someone's custom code.
 
Xon updated Zend Redis Cache with a new update entry:

1.5.0 - Maintenance update

  • 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...

Read the rest of this update entry...
 
@Xon Not super familiar with Redis, but I'm getting a lot of issues with timeouts and what appears to be malformed data. Don't see anything in the Redis log, and the latency between the web and db server containing redis is below 1ms so I can't imagine that's triggering the timeout. Hopefully this is something you've run into and it's a simple fix, have switched back to memcache temporarily but would really like to get Redis working again as it caused a huge page generation improvement :)

Screen Shot 2017-12-07 at 10.38.35 AM.webp

Edit: Additional details, FWIW it worked flawlessly for days and then suddenly this started happening this morning
 
Last edited:
You normally see this when Redis is saving to disk and the fork latency blows out. Simple solution is to not use "save" statements in the redis config since this fork's the entire process to snapshot Redis's memory which can be expensive under a xen hypervisor.

Persistent connections make this worse as it causes a bad connection to be re-used. I thought the latest code would attempt to discard it but I guess it isn't.
 
Sounds good, removed the following lines:

Code:
save 900 1
save 300 10
save 60 10000

and added
Code:
save ""
will see what happens. Thanks!

Edit: Getting this now:

Screen Shot 2017-12-07 at 12.08.33 PM.webp
 
Try restarting php-fpm/apache to flush out the bad connections, and see if it keeps occurring.

Otherwise look at the FAQ section as it covers basic troubleshooting of this.
 
Ended up having this issue pop back up, created local read only slaves and the issue is gone. I think there may have been some latency created by the large number of requests to that single instance. Has been error free for a few days now!
 
Top Bottom