当前位置: 首页 > news >正文

营商环境建设网站网站设计公司

营商环境建设网站,网站设计公司,在线图片编辑像素,石材外贸网站一、全局唯一ID (一)在用户抢购时,就会生成订单并保存到数据库中,而订单表如果使用自增ID就会存在以下几种情况: 自增ID规律性太强受单表数据量的限制 (二)全局ID生成器,是一种在…

一、全局唯一ID

(一)在用户抢购时,就会生成订单并保存到数据库中,而订单表如果使用自增ID就会存在以下几种情况:

  • 自增ID规律性太强
  • 受单表数据量的限制

(二)全局ID生成器,是一种在分布式系统下用来生成全局唯一ID的工具,一般要满足下列特性:

  • 唯一性
  • 高可用
  • 高性能
  • 递增性
  • 安全性

(三)全局唯一ID生成策略

  • UUID
  • Redis自增
  • snowflake算法
  • 数据库自增

(四)Redis自增ID策略

  • 每天一个key,方便统计订单量
  • ID构造是 时间戳 + 计数器

(五)使用Redis进行全局唯一ID生成,采用HyperLog类型进行组合 64 位的全局ID

  • 第一位为符号位,表示永远为正数
  • 添加 31 bit 的时间戳
  • 添加 32 bit 的序列号

(六)使用Reids创建全局ID生成器

@Component
public class RedisIdBuilder {private static final long BEGIN_TIMESTAMP = 1687910400L;private static final int SERIAL_BITS = 32;private StringRedisTemplate stringRedisTemplate;public RedisIdBuilder(StringRedisTemplate stringRedisTemplate){this.stringRedisTemplate = stringRedisTemplate;}public long nextId(String keyPrefix){//1、生成时间戳LocalDateTime now = LocalDateTime.now();long nowSecond = now.toEpochSecond(ZoneOffset.UTC);long timestamp = nowSecond - BEGIN_TIMESTAMP;//2、生成序列号//获取当前日期,精确到天String date = now.format(DateTimeFormatter.ofPattern("yyyy:MM:dd"));//自增长序列号Long serial = stringRedisTemplate.opsForValue().increment("icr:" + keyPrefix + ":" + date);//3、拼接并返回return timestamp << SERIAL_BITS | serial;}
}
http://www.yidumall.com/news/33086.html

相关文章:

  • 建设银行招聘官网网站线上销售怎么做
  • qq头像网站源码如何做好品牌宣传
  • 滕州营销型网站建设疫情最新消息今天封城了
  • 如何建立竞价网站免费seo网站优化工具
  • 怎么查百度收录网站线上推广方式都有哪些
  • 海宁高端高端网站设计谷歌seo关键词优化
  • 广州奕联网站开发今日国际新闻事件
  • 网站挂载网站建设培训机构
  • wordpress题库制作seo关键词搜索和优化
  • 天长两学一做网站百度网站大全旧版
  • 做交友网站如何吸引用户注册百度top风云榜
  • 岳阳网站建设公司如何做好网上销售
  • APP客户端网站建设重庆森林为什么叫这个名字
  • 江西省美丽乡村建设公布网站百度网页版主页网址
  • 广告传媒公司名字大全最新山东搜索引擎优化
  • 网站备案时间查询百度推广页面投放
  • 做网站能自己找服务器吗链接怎么做
  • wordpress 禁止升级深圳seo博客
  • 酒店管理专业南京百度推广优化排名
  • 美女色情做视频网站台州百度快照优化公司
  • 日照网站优化seo怎么做优化方案
  • 微网站怎么做的好今日新闻最新头条
  • 江安网站建设软文写作的三个要素
  • 网站的请求服务做优先级域名注册管理机构
  • 做分享网站问答推广
  • 游戏开发难还是网站开发难市场营销案例分析
  • 用js做网站登录公司网络推广网站
  • 沧州门户网站腾讯企点下载
  • 外国人做数学视频网站旅行网站排名
  • 创建个网站需要多少钱深圳外贸网络推广渠道