envoyproxy/envoy

redis key_formatter should handle cases where client keys contain hash tag

Open

#30,905 创建于 2023年11月16日

在 GitHub 查看
 (6 评论) (0 反应) (0 负责人)C++ (5,373 fork)batch import
area/redisenhancementhelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

Title: redis key_formatter should handle cases where client keys contain hash tag

Description: Redis supports hash tag feature which can be used to to take a curly braces wrapped substring for key hash. Consider a scenario where user specify a key_formatter that uses hash tag, e.g. prefix-{%KEY%}, and the client key contains hash tag as well, e.g. foo-{bar}. The formatted key becomes prefix-{foo-{bar}} and foo-{bar will be used for hash instead ofbar intended by client. The proposed change is to add an option for key_formatter to prefer client key's hash tag if present. If the feature is enabled and the first pair of curly braces in key_formatter wraps %KEY% which also contains hash tag, the key_formatter will be stripped off of the pair of curly braces. In the above example, the formatted key becomes prefix-foo-{bar}.

[optional Relevant Links:] redis hash tag

贡献者指南