Open haiyang426 opened 3 days ago
The changes introduce a method for pattern-matching deletions that also tracks removed keys, revamped the PKPatternMatchDelCmd
class to leverage this new method, and added corresponding database and cache update procedures. Additionally, the Storage
and Redis
classes now include new functionalities to support this feature.
Files/Groups | Change Summary |
---|---|
include/pika_admin.h |
Added new method declarations (DoThroughDB() , DoUpdateCache() ) and a data member remove_keys_ in PKPatternMatchDelCmd . |
src/pika_admin.cc |
Updated Do() method in PKPatternMatchDelCmd to use PKPatternMatchDelWithRemoveKeys and handle results, added new methods for database operations and cache updates. |
src/storage/include/storage/storage.h , src/storage/src/storage.cc |
Added PKPatternMatchDelWithRemoveKeys method with key removal capability. |
src/storage/src/redis.h , src/storage/src/redis_strings.cc |
Added function PKPatternMatchDelWithRemoveKeys to perform pattern-matching deletions along with key removal. |
sequenceDiagram
participant User
participant PKPatternMatchDelCmd
participant Storage
participant Redis
User ->> PKPatternMatchDelCmd: Do()
PKPatternMatchDelCmd ->> Storage: PKPatternMatchDelWithRemoveKeys()
Storage ->> Redis: PKPatternMatchDelWithRemoveKeys()
Redis -->> Storage: List of removed keys
Storage -->> PKPatternMatchDelCmd: List of removed keys
PKPatternMatchDelCmd ->> PKPatternMatchDelCmd: DoThroughDB()
PKPatternMatchDelCmd ->> PKPatternMatchDelCmd: DoUpdateCache()
PKPatternMatchDelCmd -->> User: Operation Result
In code we dance, in bytes we play,
Patterns matched, keys fall away.
Through the database we swiftly glide,
In cache, we now confide.
With each line, we streamline flow,
A rabbit's joy, to watch it grow! 🌟
[!TIP]
AI model upgrade
## `gpt-4o` model for reviews and chat is now live OpenAI claims that this model is better at understanding and generating code than the previous models. Please join our [Discord Community](https://discord.com/invite/GsXnASn26c) to provide any feedback or to report any issues.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
另外还有一个问题,如果磁盘数据量比较大且匹配到的key比较多,内存占用比较多(记录了remove_key),处理耗时比较长。这个命令是pika自己的,所以是否需要定义一个每次操作可以删除的最大个数。
Bot detected the issue body's language is not English, translate it automatically.
There is another problem. If the amount of disk data is relatively large and there are many matched keys, the memory usage will be large (remove_key is recorded), and the processing will take a long time. This command is pika's own, so do you need to define a maximum number that can be deleted in each operation?
另外还有一个问题,如果磁盘数据量比较大且匹配到的key比较多,内存占用比较多(记录了remove_key),处理耗时比较长。这个命令是pika自己的,所以是否需要定义一个每次操作可以删除的最大个数。
感谢,我尝试改一下
Bot detected the issue body's language is not English, translate it automatically.
There is another problem. If the amount of disk data is relatively large and there are many matched keys, the memory usage will be relatively large (remove_key is recorded), and the processing will take a long time. This command is pika's own, so do you need to define a maximum number that can be deleted in each operation?
Thanks, I'll try to change it
issue: #2715
Summary by CodeRabbit
New Features
Improvements