Repository navigation
fix: Enhance Redis caching to support scalars cached as plain strings - #82
Merged
Merged
Conversation
Owner
|
@madwings Thanks for this, great catch! |
pocketarc
added a commit
that referenced
this pull request
Nov 2, 2026
. * fix: Restore 3.1.x-compatible Redis counters and reads. Follow-up to #82. * chore: Bump version to 3.4.7.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Preserving compatibility with
3.1-stablerequires a bit more to ensure proper handling.This pull request updates the
Cache_redisdriver to improve compatibility with cache data stored by CodeIgniter 3.1.x, especially for scalar values cached as plain strings. The changes ensure that data written by older versions can be read and incremented/decremented correctly in newer versions.Backward compatibility and scalar handling improvements:
get()method to correctly detect and retrieve scalar values cached as plain strings by 3.1.x, using a new private_get_v31()helper. This ensures older cached data remains accessible._get_v31()method, which retrieves a scalar value and unserializes it if necessary, based on the presence in the_ci_redis_serializedset.Increment/decrement logic improvements:
_increment()method to check the Redis type for the key and useincrByfor string types, ensuring correct behavior for values stored as plain strings in 3.1.x.