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

网站视差滚动软件企业软文

网站视差滚动软件,企业软文,网站建设后期需要后期做的,什么是网络营销最基本最重要的工具系列博客目录 文章目录 系列博客目录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.hkea.cn/news/4756/

相关文章:

  • 聊城做网站哪里好app推广工作是做什么的
  • 关键词整站优化公司哪些平台可以发广告
  • 做视频图片博客网站有哪些黄冈便宜的网站推广怎么做
  • 网站访问量突然增加搜索引擎优化是指
  • 网购网站开发流程图大数据精准获客软件
  • app下载安装官方网站如何让百度收录网址
  • 湖北武汉网站制作长沙网站推广智投未来
  • 社保网站做的真烂查域名ip地址查询
  • 西安网站设计公司排名收录优美的图片app
  • 网站ipv6改造怎么做专业的seo搜索引擎优化培训
  • 做网站武汉首选福州外包seo公司
  • 陕西西安网站建设新媒体运营岗位职责
  • 重庆做网站设计免费放单平台无需垫付
  • 济南高新区 网站建设百度推广客户端mac版
  • 网上有做任务赚钱的网站有哪些自己开发网站
  • 投标网站建设服务承诺今日小说搜索风云榜
  • 香港做网站找谁兰州网络推广技术
  • 佛山宽屏网站建设建站推广
  • 深圳网站建设策划太原seo关键词排名优化
  • 乌托邦网站建设快速排名软件案例
  • 主机屋vps网站助手销售清单软件永久免费版
  • 博客系统做网站企业网站营销
  • 塑胶原料 东莞网站建设独立站seo搜索优化
  • web 设计网站模板下载重庆百度竞价开户
  • html表白简单代码宁波seo深度优化平台
  • 陕西省建设厅网站首页邮件营销
  • 网站开发工作周记天津百度
  • 网站的营销特点怎么营销推广
  • 聊城正规网站建设设计公司软文广告属于什么营销
  • 湖南建筑公司网站排名优化哪家专业