@antirez .I have a question.
We don't modify the dict in the function genRedisInfoString(file server.c) when we get command statistics. Why use safe iterator?
Similar situations are: 1.Function resetCommandTableStats (server.c); 2.Function sentinelForceHelloUpdateDictOfRedisInstances (sentinel.c) 3.Function clusterGetMaxEpoch (cluster.c) 4.any more..
Comment From: madolson
Safe iterators actually have less overhead than unsafe iterators since we don't maintain the finger print, so when doing a quick loop over the table it's a little bit better to just use an unsafe one.