HMSET 分批设置 redis hash 的值

Posted by agentd on 04-10,2020

业务需要在 redis 创建一个 100 个 filed 的 hash,一开始没管那么多,直接一次 hmset 把 100 个 field 同时设置进去。

过了一段时间 dba 反馈一次设置 100 个 field 对 redis 造成了很大的压力,遂改为分批设置这 100 个 field。

验证 redis 的 hash 支持分批设置不同的 field 如下:

> hmset hmset:test a "1" b "2"
OK
> hgetall hmset:test
1) "a"
2) "1"
3) "b"
4) "2"
> hmset hmset:test c "3" d "4"
OK
> hgetall hmset:test
1) "a"
2) "1"
3) "b"
4) "2"
5) "c"
6) "3"
7) "d"
8) "4"