流云小筑

技术专用

基于redis的规则流水号生成(三)

针对上次的流水号生成有几处细节优化的地方 1、高并发的时候,在哪个位置加锁? 2、加锁的重试机制如何设置? 3、加锁的重试次数与间隔时间范围应该如何? 4、入队列的优化   1、首先获取一次缓存中的序列号,不要直接加分布式锁,毕竟遇到查不到的情况约1000分之一 2、流水号大约1秒多...

2019-01-21 10:50:36

阅读数 258

评论数 0

基于redis、quartz的可重试的异步通知实现

1、数据库表设计 CREATE TABLE `crl_notify_record` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键', `notice_owner` varchar(30) NOT NULL COMMEN...

2018-08-06 17:04:56

阅读数 333

评论数 0

基于redis的规则流水号生成(二)

上文主要包含的最基础的redis自增生成规则流水号。 但仔细分析会发现有几个问题: 1、流水号规则调整了怎么办?只能去改代码? 2、redis切换了怎么办?数据不迁移或者redis挂了从头生成流水号会导致重复怎么办? 3、redis异常怎么办?   设计方案: 1、建立流水号规则配置...

2018-08-03 10:15:43

阅读数 956

评论数 0

基于redis的规则流水号生成(一)

设计方案一: 使用redis的incr自增,由于redis是单线程的,每次按同一key自增可保证快速生成流水号,且唯一。 比如最基础的生成不重复序号: long serilno=cacheClient.incr("CST"); incr操作在key为空时...

2018-08-02 10:36:50

阅读数 2209

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭