redis学习(011 实战:黑马点评:优惠券秒杀:redis实现全局唯一ID)

黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目

总时长 42:48:00 共175P

此文章包含第48p-第p49的内容


文章目录

    • 全局唯一ID
    • 编码

全局唯一ID

在这里插入图片描述

//String did = dao.haveKeyId(“deputybedthing”);

在这里插入图片描述

在这里插入图片描述
这里的主键并没有自增长
在这里插入图片描述

店铺是使用的自增长 auto_increment
在这里插入图片描述

在这里插入图片描述

使用的是java中的Long类型 共有8个字节(64比特位)
第1位是符号位(0代表正数)
后面31位是 时间戳(以秒为单位,有21亿位,可以支持69年)
最后32位是序列号位 每秒支持2^32个id
在这里插入图片描述
在这里插入图片描述

编码

在这里插入图片描述

设置一个初始时间
在这里插入图片描述

这样设计的话,每天都会生成一个key,这个key的值正好就是当天的下单量

在这里插入图片描述
最好带冒号,这样到时候可以按年统计 按月统计 按日统计
在这里插入图片描述
这里变黄了是因为idea担心这个会产生空指针(不需要担心,redis发现没有这个key的话,会自己生成这个key)
在这里插入图片描述

拼接long类型,时间戳向前移动32位
在这里插入图片描述
用或运算 因为 向前移动了32位 后面的值全是0 0或0=0、0或1=1 所以或运算是可以直接将值放进去的
不用考虑最前面的符号位 因为这里只有63位 第一位一定是0
在这里插入图片描述
count & 0x00000000ffffffffL 清零序列号的高位 (0x开始表示这一串数字是以16进制表示的)

在这里插入图片描述

单元测试

这里我们创建一个500个线程的线程池
在这里插入图片描述

这里我们将生成300*100个id
在这里插入图片描述

这里使用线程池 等待线程都结束再进行计时

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

生成了30000个id
在这里插入图片描述

我们使用的是第二种
在这里插入图片描述

雪花算法也可以使用(理论上来讲它的性能应该更好)

在这里插入图片描述

雪花算法
在这里插入图片描述
缺点:对服务器时钟的依赖很严重
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1522406.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode—string练习

415.字符串相加 . - 力扣(LeetCode) 错误示范: 遇到这种我们第一想法就是将字符串转化成整数,但这种解法无法提交通过,只能支持将小数字互相转化,遇到较长的字符串就没法通过。 class Solution { public…

基于FPGA实现SD NAND FLASH的SPI协议读写

基于FPGA实现SD NAND FLASH的SPI协议读写 在此介绍的是使用FPGA实现SD NAND FLASH的读写操作,以雷龙发展提供的CS创世SD NAND FLASH样品为例,分别讲解电路连接、读写时序与仿真和实验结果。 目录 1 FLASH背景介绍 2 样品申请 3 电路结构与接口协议 …

基于微信小程序在线订餐系统

微信小程序在线订餐系统 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了微信小程序在线订餐系统的开发全过程。通过分析微信小程序在线订餐系统管理的不足,创建了一个计算机管理微信小程序在线订…

免费下载Win11 24H2专业版!附详细安装教程

今日,系统之家小编给大家带来2024年最新的Windows11 24H2专业版系统,更新后系统版本号将升至26100.1591。系统基于微软官方最新Windows 11 24H2专业版进行离线制作与优化,确保系统安全无毒,兼容性强,可完美支持新老机型…

解锁高效项目管理:精选软件项目管理工具与技术实战

在当今快节奏的商业环境中,项目管理不仅是确保任务按时完成的手段,更是企业战略规划与执行的核心。面对日益复杂的项目需求和不断变化的市场环境,传统的手工管理方式已难以满足高效协同的要求。此时,项目管理软件作为数字化时代的…

【数据推荐】我国省市县三级的人口受教育状况数据(分年龄\性别\户籍)

人口数据是我们在各项研究中都经常使用的数据。之前我们为大家分享过基于《2020中国人口普查分县资料》整理的全国范围的第七次人口普查人口数据,具体包括如下8个分表(均可查看之前的文章获悉详情): 表1:我国省市县三…

只会SQL语句,可以做什么工作?

1、SQL是什么 首先简单介绍一下SQL(Structured Query Language),是一种可以进行数据提取、聚合、分析,并对数据库进行构建和修改的编程语言。 相对来说,SQL上手非常容易,因为语法结构比较固定&#xff0c…

iOS分渠道统计不再难,Xinstall帮你轻松搞定

在App推广和运营的过程中,iOS分渠道统计一直是一个令人头疼的问题。如何准确追踪各个渠道的推广效果?如何优化投放策略以提高转化率?这些问题困扰着无数推广者。今天,我们就来聊聊Xinstall这款强大的分渠道统计工具,看…

llama_factory Qlora微调异常 No package metadata was found for The ‘autoawq‘

importlib.metadata.PackageNotFoundError: No package metadata was found for The ‘autoawq’ distribution was not found and is required by this application. To fix: pip install autoawq 其实问题比较简单 直接安装autoawq 即可 但是对应会有版本问题: 查…

什么是阿凡达2.0直播模式?

要了解什么是什么是阿凡达2.0直播模式,首先要了解什么是的阿凡达直播模式。 我们知道真人直播,播不了几个小时,主播就讲累了。且真人主播的价格又贵,以小时计费。所以很多数字人厂商推出了数字人直播。用数字人代替真人直播。在前几年的时候…

k8s的组件以及安装

目录 概念 k8s的使用场景 k8s的特点 核心组件 master主组件 1.kube-apiserver 2.etcd 3.kube-controller-manager 控制器 4.kube-scheduler node从节点组件 1.kubelet 2.kube-proxy 3.docker 总结 k8s的核心概念 安装k8s 架构 安装步骤 实验:创…

RabbitMQ中间件监控指标解读

监控易是一款全面的IT监控软件,能够实时监控各种IT资源和应用,确保系统的稳定运行。在RabbitMQ中间件的监控方面,监控易提供了详尽的监测指标,帮助用户深入了解RabbitMQ集群的运行状态和性能表现。 一、集群监控(sdds…

【复旦微FM33 MCU 外设开发指南】外设篇3——SPI

前言 本系列基于复旦微FM33系列单片机的DataSheet编写,旨在提供一些开发指南。 本文章及本系列其他文章将持续更新,本系列其它文章请跳转【复旦微FM33 MCU 外设开发指南】总集篇 本文章最后更新日期:2024/08/31 文章目录 前言GPIO配置SPI配…

深度孤立森林 Deep Isolation Forest论文翻译(上)

README 绝大部分是自己翻译自己手打的,少部分参考有道翻译,主要是想仔细再读一遍,顺便就打出来了。这篇论文内容比较多,有代码,原作者有github和知乎账号,感兴趣可以找一下。欢迎讨论和批评指正。 用于异…

如何手动添加和修改Chrome浏览器的Cookies:一个简单的指南

一、打开Chrome浏览器,输入需要增加的cookie的网址 二、按 F12打开开发者控制台,点击 Application 三、在Storage里面可以选择Cookie,再点击网址进行添加需要的cookie

【职业选择】AI工程师、机器学习工程师和深度学习工程师的职责与工作内容有什么区别?

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 👍感谢小伙伴们点赞、关注! 《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发…

I2C软件模拟时序的基本要素

目录 前言 一、关于I2C 二、正文 1.引脚的配置 2.I2C的起始和终止时序 3.发送一个字节 4.接收一个字节 5.应答信号 6.指定地址写和指定地址读 总结 前言 环境: 芯片:STM32F103C8T6 Keil:V5.24.2.0 本文主要参考江科大教程&#…

Centos Stream9系统安装及网络配置详解

1.镜像下载 如未拥有系统镜像文件的伙伴可通过前往下面的连接进行下载,下载完成后需将其刻录至U盘中。 PS:该U盘应为空盘,刻录文件会导该盘格式化,下载文件选择dvd1.iso完整包,适用于本地安装。 下载地址&#xff1…

免费申请aws一年免费服务器使用教程

由于近期要测试一个公网项目,对比之下,选择了aws服务器,免费使用一年。 准备:一个visa信用卡即可,需要一个外网邮箱(我这边使用的hotmail) 注册的步骤不再赘述,切记几个点&#xff0…

【精选】基于Django的智能水果销售系统设计与实现

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…