You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
redis: the write protocol is rebuilt on native commands.
dialcache/redis-protocol removes WRITE_CACHE_SCRIPT,
WRITE_TRACKED_CACHE_SCRIPT, REDIS_FRAME_VERSION, REDIS_ENCODING_UTF8,
and REDIS_ENCODING_BINARY, and adds encodeRedisFrame,
encodeTrackedRedisPlaceholder, TrackedRedisPlaceholder,
WRITE_TRACKED_STAMP_SCRIPT, resolveTrackedRedisWriteReply,
validateRedisSetReply, validateRedisScriptInvalidationReply, and
ceilSupportedCacheTtlMs. dialcacheRedisScripts drops dialcacheWrite and
dialcacheWriteTracked and gains dialcacheWriteTrackedStamp(valueKey,
watermarkKey, cacheTtlMs, nonce); createNodeRedisDialCacheClient throws
TypeError for clients constructed without those registrations; the
structural node-redis sendCommand argument type widens to string or
Buffer. The tracked write reply domain is 0, 1, or 2, and reply 2 must
fail the write with the new root-exported
DialCacheRedisPlaceholderLostError. The GLIDE adapter is stateless:
createValkeyGlideDialCacheClient returns a plain DialCacheRedisClient
with no dispose method, ValkeyGlideDialCacheClient and
ValkeyGlideScriptHandle are removed, ValkeyGlideRuntime takes a single
TDecoder parameter and requires the ClusterBatch constructor instead of
Script, and ValkeyGlideScriptingClient requires customCommand and drops
invokeScript. ACLs must allow the client-issued GET, MGET, and SET (SET
newly carries every write) plus EVALSHA and EVAL, and the script-invoked
TIME, GET, SET, and PTTL for both mutation scripts plus the stamp
script's PEXPIRE, UNLINK, GETRANGE, and SETRANGE; adapters reject
non-numeric or out-of-range cacheTtlMs with RangeError before issuing
commands.
Features
redis: use native commands for cache writes (#131) (5560ee3), closes #123