场景是这样的:需要对通知未读数量进行缓存。大概有如下三种操作:
这存在一个 BUG ,就是 2 、3 两种操作都没有去检查缓存是否存在,那么当缓存失效之后,直接发生了 2 、3 两种操作的时候,缓存里的这个 “未读数量” 就会变成 1 或者 -1.
现在准备在进行 2 、3 操作的之前,都先进行缓存是否存在的检查。
突然想到,为什么 Redis 不提供 INCR/DECR 缓存不存在的时候,就报错的版本?这样就不用每次都去检查缓存是否存在。只需要处理这个报错,然后再去初始化缓存即可,这样性能不是更好?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.