摘要: 背景 在业务发展过程中,会出现一些需要延时处理的场景,比如: a.订单下单之后超过30分钟用户未支付,需要取消订单b.订单一些评论,如果48h用户未对商家评论,系统会自动产生一条默认评论c.点我达订单下单后,超过一定时间订单未派出,需要超时取消订单等。。。处理这类需求,比较直接简单的方式就是定时任务 阅读全文
posted @ 2018-07-31 14:54 割肉机 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细 阅读全文
posted @ 2018-07-31 14:25 割肉机 阅读(70666) 评论(17) 推荐(23) 编辑
摘要: redis redis redis redis redis redis redis redis 2 2 10 月初,Redis 搞了个大新闻。别紧张,是个好消息:Redis 引入了名为 stream 的新数据类型和对应的命令,大概会在年底正式发布到 4.x 版本中。像引入新数据类型这样的变化在 Re 阅读全文
posted @ 2018-07-31 13:49 割肉机 阅读(1917) 评论(0) 推荐(0) 编辑
摘要: 摘自CSDN:::::http://blog.csdn.net/hguisu/article/details/6155636 1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不 阅读全文
posted @ 2018-07-31 11:07 割肉机 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时, 阅读全文
posted @ 2018-07-31 09:44 割肉机 阅读(451) 评论(1) 推荐(0) 编辑
摘要: 引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客, 阅读全文
posted @ 2018-07-31 09:39 割肉机 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 引言 该文是对《分布式之数据库和缓存双写一致性方案解析》,一文的补充。博主在该文中,提到了这么一句话 应该没人问我,为什么没有先更新缓存,再更新数据库这种策略。 博主当时觉得,这种更新策略比较简单,没必要多做说明,结果太多人留言给博主,问我为什么不说这套方案?好吧,博主先跟大家道个歉,是我的问题。所 阅读全文
posted @ 2018-07-31 09:38 割肉机 阅读(1395) 评论(0) 推荐(0) 编辑