redis为何是单线程