如何处理 bigkey?

 

 

1. 监控 +手动清理:Redis 4.0+ 可以使用 UNLINK 命令来异步删除一个或多个指定的 key。

2.渐进式删除 Api如

list strim

  set srem

  hash  hdel

3..分割 bigkey:将一个 bigkey 分割为多个小 key 

     比如一个大哈希表,拆分策略:基于哈希字段的哈希值分割到分片 例如 

      hash_slot = crc32(field) % 10

  

    big_hash = {

      "user:1001": {"name": "Alice", "age": 30},   
      "user:1002": {"name": "Bob", "age": 24},
          ...
    }

取 field = "user:1001"   ---> hash_slot

posted on 2024-09-22 21:51  towboat  阅读(8)  评论(0编辑  收藏  举报