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

网站备案麻烦吗做推送的网站除了秀米还有

网站备案麻烦吗,做推送的网站除了秀米还有,个人网页模板html免费,制作公司网页思路怎么写为了生成一个符合要求的分布式全局ID#xff0c;我们可以使用 StringRedisTemplate 来实现。这个ID由三部分组成#xff1a; 符号位#xff08;1 bit#xff09;#xff1a;始终为0#xff0c;表示正数。时间戳#xff08;31 bit#xff09;#xff1a;表示从某个起始…为了生成一个符合要求的分布式全局ID我们可以使用 StringRedisTemplate 来实现。这个ID由三部分组成 符号位1 bit始终为0表示正数。时间戳31 bit表示从某个起始时间点例如2023-01-01 00:00:00到现在的秒数。序列号32 bit用于在同一秒内生成不同的ID。 实现步骤 计算时间戳从某个起始时间点到现在的秒数。生成序列号使用Redis的原子递增操作来生成序列号。组合ID将时间戳和序列号组合成一个64位的长整型数字。 代码实现 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service;import java.time.Instant; import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.concurrent.TimeUnit;Service public class DistributedIdGenerator {Autowiredprivate StringRedisTemplate stringRedisTemplate;// 起始时间点例如2023-01-01 00:00:00private static final long EPOCH ZonedDateTime.of(2023, 1, 1, 0, 0, 0, 0, ZoneId.systemDefault()).toInstant().toEpochMilli() / 1000;// 序列号的Redis键前缀private static final String SEQUENCE_KEY_PREFIX sequence:;/*** 生成分布式全局ID** return 分布式全局ID*/public long generateId() {// 获取当前时间戳从起始时间点到现在的秒数long currentTimeSec Instant.now().getEpochSecond() - EPOCH;// 生成序列号String sequenceKey SEQUENCE_KEY_PREFIX currentTimeSec;long sequence stringRedisTemplate.opsForValue().increment(sequenceKey, 1);if (sequence (1L 32)) { // 序列号溢出重置为0stringRedisTemplate.expire(sequenceKey, 1, TimeUnit.SECONDS); // 设置1秒后过期sequence 0;}// 组合IDlong id (currentTimeSec 32) | sequence;return id;} } 代码解释 EPOCH起始时间点例如2023-01-01 00:00:00转换为秒数。SEQUENCE_KEY_PREFIXRedis中存储序列号的键前缀。generateId 方法 currentTimeSec从起始时间点到现在的秒数。sequenceKey根据当前时间戳生成的Redis键。sequence使用 opsForValue().increment 方法生成序列号确保在同一秒内生成不同的ID。序列号溢出处理如果序列号达到最大值2^32 - 1则重置为0并设置键在1秒后过期。组合ID将时间戳左移32位然后与序列号进行按位或操作生成最终的64位ID。 测试代码 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;RestController public class IdController {Autowiredprivate DistributedIdGenerator idGenerator;GetMapping(/generate-id)public long generateId() {return idGenerator.generateId();} }
http://www.w-s-a.com/news/47957/

相关文章:

  • 深圳比邻网站建设北京优化服务
  • 菏泽网站建设哪家好电子商务网络安全
  • 仿一个网站广州网站建设正规公司
  • 网站建设 目的seo网站关键词排名快速
  • 什么叫做响应式网站自媒体全平台发布
  • 企业网站 案例哪里需要人做钓鱼网站
  • 厚街东莞网站建设网站开发者调试模式
  • 网站推广营销联系方式wordpress adminlte
  • 哪些网站可以做文字链广告卖水果网站建设的策划书
  • 雕刻业务网站怎么做企业qq官网
  • 新华书店的做的数字阅读网站wordpress编辑器格式
  • jq做6个网站做什么好广西临桂建设局网站
  • 网站新闻图片尺寸南京网站设计公司
  • 重庆seo建站网站服务器 安全
  • 咸宁做网站的公司桂林网站建设兼职
  • 教做网站网站开发行业分析
  • 忻州网站建设培训友情链接交换形式有哪些
  • 佛山做外贸网站渠道外贸常用网站
  • 文章收录网站网站及新媒体建设办法
  • 招聘网站排行榜2021找建网站公司
  • 网站建设制作宝塔面板活动宣传推广的形式有哪些
  • 掉关键词网站敏捷软件开发流程
  • 微信小程序格泰网站建设新闻采编与制作专业简历
  • 电子商城建设网站海伦网站建设
  • 南充能够建设网站的公司有专门做设计的一个网站
  • 免费域名申请个人网站阿里巴巴运营的工作内容
  • 怎么建自己的手机网站保定电子商务网站建设
  • 系部网站建设中期检查表创建网站的公司
  • 西宁网站建设优化重庆企业的网站建设
  • 贝壳企业网站管理系统徽与章网站建设宗旨