| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Since `Redis#call` duck types as a Proc, we'd call `#call` on it,
thinking it's a Proc. Fixed by check for the Proc explicitly instead of
duck typing on `#call`.
References #32233
|
|
|
|
|
|
| |
Skipping over 2.4.0 to sidestep the `"symbol_from_string".to_sym.dup` bug.
References #32028
|
|\
| |
| |
| | |
Add support for connection pooling on RedisCacheStore
|
| | |
|
| |
| |
| |
| |
| |
| | |
[ci skip]
Closes #31967
|
| | |
|
| | |
|
| |
| |
| |
| | |
Use `serialize_entry` throughout and introduce `serialize_entries`.
|
|/
|
|
|
| |
Closes #31886
Fixes #31884
|
|
|
|
|
| |
This reverts commit ac74e2c521f6ddc0eac02d74a1313261bcc1d60f, reversing
changes made to ffdb06136152b3c5f7f4a93ca5928e16e755d228.
|
| |
|
| |
|
|
|
|
| |
Fix encoding errors when using the pure-Ruby Redis driver instead of Hiredis. Dodge incompatibilities between UTF-8 and arbitrary value encodings, which rear their heads when the Redis driver tries to build a single command string from incompatibly-encoded keys and values.
|
|
|
|
| |
Update the long key handling test so it triggers truncation in the Redis cache store.
|
|
|
|
|
|
|
|
|
| |
* The `DEFAULT_ERROR_HANDLER` constant in
`ActiveSupport::Cache::RedisCacheStore` contained references
to an undefined argument `e`, which is supposed to refer
to the `exception` parameter.
* Update the default error handler proc to correctly reference
the `exception` parameter.
|
|
|
| |
[ci skip]
|
|
|
|
| |
`keys_to_names` is used only for `keys_to_names.keys`.
|
|
|
|
| |
Ref: https://travis-ci.org/rails/rails/jobs/303840778#L1974
|
|
* Supports vanilla Redis, hiredis, and Redis::Distributed.
* Supports Memcached-like sharding across Redises with Redis::Distributed.
* Fault tolerant. If the Redis server is unavailable, no exceptions are
raised. Cache fetches are treated as misses and writes are dropped.
* Local cache. Hot in-memory primary cache within block/middleware scope.
* `read_/write_multi` support for Redis mget/mset. Use Redis::Distributed
4.0.1+ for distributed mget support.
* `delete_matched` support for Redis KEYS globs.
|