用redis实现的分布式锁，含有超时和重试次数的控制