redis为什么设计成单线程