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

网站开发 重庆我的网站现在没有排名_我想问是不是花钱做百度推广就会有排名

网站开发 重庆,我的网站现在没有排名_我想问是不是花钱做百度推广就会有排名,分类信息的网站如何推广,权威的徐州网站建设一、全局唯一ID 每个店铺都可以发布优惠券#xff1a; 当用户抢购时#xff0c;就会生成订单并保存到tb_voucher_order这张表中#xff0c;而订单表如果使用数据库自增ID就存在一些问题#xff1a; id的规律性太明显 受单表数据量的限制 场景分析#xff1a;如果我们的…一、全局唯一ID 每个店铺都可以发布优惠券 当用户抢购时就会生成订单并保存到tb_voucher_order这张表中而订单表如果使用数据库自增ID就存在一些问题 id的规律性太明显 受单表数据量的限制 场景分析如果我们的id具有太明显的规则用户或者说商业对手很容易猜测出来我们的一些敏感信息比如商城在一天时间内卖出了多少单这明显不合适。 场景分析二随着我们商城规模越来越大mysql的单表的容量不宜超过500W数据量过大之后我们要进行拆库拆表但拆分表了之后他们从逻辑上讲他们是同一张表所以他们的id是不能一样的 于是乎我们需要保证id的唯一性。 全局ID生成器是一种在分布式系统下用来生成全局唯一ID的工具一般要满足下列特性 为了增加ID的安全性我们可以不直接使用Redis自增的数值而是拼接一些其它信息 成部分符号位1bit永远为0 时间戳31bit以秒为单位可以使用69年 序列号32bit秒内的计数器支持每秒产生2^32个不同ID 二、Redis实现全局唯一Id package com.dfrz.utils;import org.springframework.beans.factory.annotation.Autowired; 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 MyRedisIncreaseIdUtil {/*** 开始时间戳,2022年1月1日0时0分0秒的时间的时间戳*/private static final long BEGIN_TIMESTAMP 1640995200L;/*** 序列号的位数*/private static final int COUNT_BITS 32;private static final String INCREASE_ID_PRE increase:id;Autowiredprivate 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(INCREASE_ID_PRE keyPrefix : date);// 3.拼接并返回return timestamp COUNT_BITS | count;}/* public static void main(String[] args) {//使用LocalDateTime.of()方法创建了一个LocalDateTime对象代表2022年1月1日0时0分0秒的时间LocalDateTime time LocalDateTime.of(2022, 1, 1, 0, 0, 0);//使用toEpochSecond()方法将这个时间转换为从1970年1月1日0时0分0秒UTC时间开始的秒数long second time.toEpochSecond(ZoneOffset.UTC);System.out.println(second);}*/}测试类 三、详细介绍 这段代码定义了一个名为MyRedisIncreaseIdUtil的类用于生成基于时间和Redis自增操作的唯一ID。 具体来说该类做了以下几件事情 定义常量 BEGIN_TIMESTAMP这是开始时间戳代表2022年1月1日0时0分0秒的时间的时间戳。COUNT_BITS这是序列号的位数这里设置为32位。INCREASE_ID_PRE这是一个字符串常量用于在Redis中作为键的前缀。 注入依赖 使用Autowired注解将StringRedisTemplate对象注入到stringRedisTemplate成员变量中这是Spring框架的自动装配特性。 实现生成ID的方法 nextId(String keyPrefix)这是一个公共方法接受一个字符串参数keyPrefix并返回一个长整型ID。 首先使用LocalDateTime.now()获取当前时间然后通过toEpochSecond(ZoneOffset.UTC)方法将其转换为Unix时间戳从1970年1月1日0时0分0秒开始的秒数。接着使用now.format(DateTimeFormatter.ofPattern(yyyy:MM:dd))获取当前日期精确到天并格式化为yyyy:MM:dd的字符串格式。然后使用stringRedisTemplate.opsForValue().increment()对Redis中的键进行原子自增操作。这里使用了格式化的日期作为Redis键的一部分以确保每个日期只有一个序列号。最后通过位运算左移操作符将时间戳转换为二进制表示中的高位序列号转换为低位然后使用位或操作符|将它们拼接在一起形成一个唯一的ID。 这个类的主要目的是生成基于当前时间和Redis自增操作的唯一ID通过时间戳保证全局唯一性通过Redis自增操作保证同一日期内的唯一性。
http://www.w-s-a.com/news/261745/

相关文章:

  • 网站静态化设计html5手机网站制作
  • 深圳最简单的网站建设家居网站建设全网营销
  • 如何取消网站备案佛山网站优化公司
  • 网站开发 成都广水网站设计
  • 音乐网站建设目标合同管理系统
  • jq网站特效插件如何知道网站是否被k
  • 自己的网站怎么接广告网站搭建收费
  • 宁波大型网站制作建立一个网站 优帮云
  • 大连零基础网站建设教学电话有哪些比较好的做ppt好的网站
  • 哪个网站做logo设计我的建筑网
  • php电子商务网站开发沂源手机网站建设公司
  • html和php做网站哪个好3gcms企业手机网站整站源码asp
  • 网站建设网页设计案例云南建设厅网站删除
  • 杏坛网站制作太原做网站要多少钱呢
  • 做新闻类网站还有市场吗东莞黄页网广告
  • 地方网站做外卖专业做互联网招聘的网站有哪些
  • 网站推广公司兴田德润紧急网页升级紧急通知
  • 厦门做网站哪家强企业网站网页设计的步骤
  • 普拓网站建设济南行业网站建设
  • 燕郊 网站开发网站里的地图定位怎么做
  • 门户网站建设招标互联网创业项目概述
  • 用什么做网站比较好市场调研公司是做什么的
  • 电商网站充值消费系统绍兴网站优化
  • 深圳网站建设公司联虚拟币交易网站开发
  • 专业网站设计建设公司抖音代运营公司排名前十强
  • 做网站架构肃北蒙古族自治县建设局网站
  • 推广网站怎么建经济研究院网站建设方案
  • 网站建设商家淘宝客自建网站做还是用微信qq做
  • django做网站效率高吗涉县移动网站建设报价
  • 做外贸网站注册什么邮箱能够做渗透的网站