Redis 在缓存场景中的应用模式

总结: 先更新数据库, 再删除Key 陈皓大佬的 缓存更新的套路 唉, 叹息

<span title='2023-08-03 18:49:09 +0800 +0800'>August 3, 2023</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

Redis 用于做分布式锁

操作 演进 加锁后进程挂掉了 加锁成功之后, 进程挂掉了没有进行解锁操作. 导致进入死锁状态. 引入 expire 设置超时时长, 自动释放 key 1 2 3 4 5 6 7 8 > setnx lock:key true > OK > expire lock:key 5 " ... do something critical ... > del lock:codehole 加锁动作 到 expire 之间挂掉了 redis 2.8 之后支持 set 拓展指令 1 > set lock:key true ex 5 nx 加锁互斥锁, 并同时设置超时时长 执行超时, 被其他进程获取到了锁 加锁之后, 本身进程执行时间超过了预先设置的 expire 的时间. 就会导致锁被提前释放. 解决方案: ...

<span title='2022-08-18 12:18:53 +0800 +0800'>August 18, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员