Redis Cache By Xon

Redis Cache By Xon 2.18.2

No permission to download
I've been testing something with multiple cache implementations and noticed there's perhaps an issue with Xon Redis.

Specifically with deleteMultiple()

If a cache namespace is used, the namespace is NOT prefixed to the keys that are requested for deletion with deleteMultiple(). This results in no keys being deleted.

Key Difference

Native Redis: Automatically applies the namespace to deleteMultiple via normalizeKey

XonRedis: Expects namespaced keys for deleteMultiple, requiring manual prefixing or using delete (which applies getNamespacedId)

I'm just curious if this was intentional or not.

It gets a bit hairy because Xon Redis uses a different namespace mechanism depending on whether a namespace is specified or not.
 
I've been testing something with multiple cache implementations and noticed there's perhaps an issue with Xon Redis.

Specifically with deleteMultiple()

If a cache namespace is used, the namespace is NOT prefixed to the keys that are requested for deletion with deleteMultiple(). This results in no keys being deleted.
I thought I fixed this bug, is this with XF2.3?
 
I've been testing something with multiple cache implementations and noticed there's perhaps an issue with Xon Redis.

Specifically with deleteMultiple()
You may want to look at how ExpireRedisCacheByPattern::enqueue and PurgeRedisCacheByPattern::enqueue methods which queue a job todo the bulk of the work. These implement pagable adjusting the TTL or deleting items out of the cache.

This is actually used when invalidating css and such to avoid blocking and schedule things to be expire in 5-10 minutes instead of sticking around not being used.
 
Last edited:
Back
Top Bottom