redis单线程为什么还要加锁