Summary
RedisKeyEditor._saveString calls RedisConnection.set(key, text) with no ttlSeconds. SET key value without KEEPTTL or EX clears the expiry.
Session/cache keys (session:* with TTL 300s) become immortal after a value edit. The TTL badge still shows the old remaining time until Refresh.
Redis 6+ supports SET key value KEEPTTL. Fallback: TTL then SET … EX when TTL > 0. Do not SET when TTL is -2 (key gone).
Scope
- lib/features/redis/redis_key_editor.dart _saveString
- lib/core/database/redis_connection.dart set
Out of scope
- Hash/list/set/zset mutations (they do not replace the key)
Reactions are currently unavailable
Summary
RedisKeyEditor._saveString calls RedisConnection.set(key, text) with no ttlSeconds. SET key value without KEEPTTL or EX clears the expiry.
Session/cache keys (session:* with TTL 300s) become immortal after a value edit. The TTL badge still shows the old remaining time until Refresh.
Redis 6+ supports SET key value KEEPTTL. Fallback: TTL then SET … EX when TTL > 0. Do not SET when TTL is -2 (key gone).
Scope
Out of scope