Redis 在京东到家的订单中的使用
摘要
在京东到家的应用场景中,除了之前提到的订单列表的存储结构、数据一致性保证和分布式锁之外,还使用了redis的缓存防穿透。为了实现分布式锁,文章提供了两种实现方式。第一种方式是使用
set
命令设置锁,并设置过期时间,如果设置失败则返回false。第二种方式是使用setNX
命令设置锁并设置过期时间,如果设置失败则返回false。在具体的应用场景中,通过调用getLock
方法获取锁,然后执行相关操作,并在最后使用unLock
方法解锁。然而,如果在设置锁的过程中出现异常或系统崩溃导致解锁失败,锁可能会永远留在缓存中,导致其他线程无法获取锁。因此,需要采取额外的措施来防止这种情况发生。
欢迎在评论区写下你对这篇文章的看法。