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

大型旅游网站wordpress博客 免费

大型旅游网站,wordpress博客 免费,网站建设项目需求,怎么做qq二维码网站系列博客目录 文章目录 系列博客目录WhyRedis自增ID策略 Why 我们需要设置全局唯一ID。原因:当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题。 问题:id的规律性太明显、…

系列博客目录


文章目录

  • 系列博客目录
  • Why
  • Redis自增ID策略


Why

我们需要设置全局唯一ID。原因:当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题。
问题:id的规律性太明显、受单表数据量的限制。所以在自己的项目中,针对上传的数据的ID的生成也可以使用全局唯一ID。表中有ID,属性类型(文本、音频、图像)以及存储位置,文件名(文件名由ID+原始文件名作为后缀组成)。
多种ID比如用户ID,订单ID。

全局ID生成器,是一种在分布式系统下用来生成全局唯一ID的工具,一般要满足下列特性:高可用、唯一性、高性能、递增性、安全性。

Redis自增ID策略

为了增加ID的安全性,我们可以不直接使用Redis自增的数值,而是拼接一些其它信息:
在这里插入图片描述

ID的组成部分:

  • 符号位:1bit,永远为0
  • 时间戳:31bit,以秒为单位,可以使用69年
  • 序列号:32bit,秒内的计数器,支持每秒产生2^32个不同ID
package com.hmdp.utils;import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;@Component
public class RedisIdWorker {/*** 开始时间戳*/private static final long BEGIN_TIMESTAMP = 1640995200L;/*** 序列号的位数*/private static final int COUNT_BITS = 32;private StringRedisTemplate stringRedisTemplate;public RedisIdWorker(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.生成序列号// 2.1.获取当前日期,精确到天String date = now.format(DateTimeFormatter.ofPattern("yyyy:MM:dd"));// 2.2.自增长long count = stringRedisTemplate.opsForValue().increment("icr:" + keyPrefix + ":" + date);// 3.拼接并返回return timestamp << COUNT_BITS | count;}
}

使用的示例代码如下:

// 7.创建订单
VoucherOrder voucherOrder = new VoucherOrder();
// 7.1.订单id
long orderId = redisIdWorker.nextId("order");
voucherOrder.setId(orderId);
// 7.2.用户id
voucherOrder.setUserId(userId);
// 7.3.代金券id
voucherOrder.setVoucherId(voucherId);
save(voucherOrder);// 7.返回订单id
return Result.ok(orderId);

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

http://www.15wanjia.com/news/185787.html

相关文章:

  • 青岛网站设计建设四川建设网电子招标
  • 上街做网站沈阳互联网公司排名
  • 网站建设丶金手指下拉14移动端的网站怎么做的
  • 做网站必须先买域名吗企业网站建设费现金流科目
  • wordpress免费的音乐插件郑州网站关键词优化公司
  • 十大电子游戏平台网站wordpress主题框架Genesis
  • 网站收录后然后怎么做平果县免费网站哪家好
  • 公司的网站如何建设wordpress采集插件怎么用
  • 潍坊哪里做网站好网络搜索关键词
  • 淘宝做问卷的网站深圳网页制作与网站建设方案维护
  • 延安做网站的公司wordpress无法加载媒体库
  • 站长之家ppt好品质高端网站设计厂家
  • 大兴安岭做网站哪个厂家的logo品牌设计
  • 重庆微信网站北京网络公司都有哪些
  • 如何做适合网站大小的图片郑州网站制作怎么样
  • phpcmsv9网站地图sem是什么检测分析
  • 西宁网站设计公司价格海口企业做网站设计
  • seo推广网站wordpress网站阿里云备案号
  • 网站设计顺德贵阳网站开发多少钱
  • 成都企业网站免费网页在线代理服务
  • 软装设计师seopeixunwang
  • 外贸做网站建设哪家好招聘网站建设保定
  • 直播软件下载网站网站建设与维护实训ppt
  • 手机网站做分享到微信网站的内容更新
  • 虚拟主机建站wordpress更换域名2017
  • 怎么让自己做的网站让别人看到如何做vip微信电影网站
  • 做网站在哪数据展示网站
  • 网站建设推广渠道网站自己的
  • 网站备案核验号织梦网站安装播放视频插件下载
  • 深圳市seo网站设计哪家好淄博做网站的公司都有哪些