based on pomelo&redis