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

news2024/11/24 8:29:58

黑马程序员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.coloradmin.cn/o/2101157.html

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

相关文章

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

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

惠中科技光伏清洗剂:科技创新引领绿色清洁新风尚

惠中科技光伏清洗剂:科技创新引领绿色清洁新风尚 在光伏产业蓬勃发展的今天,光伏板的清洁问题日益凸显,成为影响发电效率的关键因素之一。面对传统清洗方法效率低、成本高、环境影响大等痛点,惠中科技以科技创新为驱动&#xff0…

sqlserver 如何收缩+最大化压缩数据库

zihao 直接运行即可 -- 最大化压缩数据库 USE [数据库名称]; -- 这里必须填写库名称 GO EXEC sp_MSforeachtable ALTER TABLE ? REBUILD PARTITION ALL WITH (DATA_COMPRESSION PAGE);;-- 收缩数据库 DBCC SHRINKDATABASE (N数据库名称, 1); -- 这里必须填写库名称 GO

COB超微小间距LED显示屏是什么,它的性价比怎么样,市场大有可为

COB(Chip on Board)技术最早发源于上世纪60年代,是将LED芯片直接封装在PCB电路板上,并用特种树脂做整体覆盖。COB实现“点” 光源到“面” 光源的转换。点间距有P0.3、P0.4、P0.5、P0.6、P0.7、P0.9、P1.25、P1.538、P1.5625、P1.…

【STM32+HAL库】---- 通用定时器PWM输出实现呼吸灯

硬件开发板:STM32G0B1RET6 软件平台:cubemaxkeilVScode1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置定时器 找到LED所对应的引脚PA5,选择TIM2_CH1模式 在TIM2中,时钟源选择内部时钟Internal Clock,通道1选择PWM…

外业精灵实时查看区域等高线(如何显示等高线的高程值)

0.序 图新地球桌面端的等高线预览,既可以看到等高线,也能看到等高线的高程值。 而等高线生成功能,只有等高线没有高程值(多少米)的点标注。 导致生成的等高线不论是在图新地球桌面端、外业精灵(手机端&…

深入探索Go语言中的指针:内存操作的艺术

首先,尽管指针(pointer)和switch语句在概念上并无直接联系,但本文将它们并置讨论的原因在于:这两个编程概念在实际学习和应用过程中常被编程人员所忽视。 对于指针的使用,初学者往往因其概念的抽象性和操作…

OpenGL/GLUT实践:弹簧-质量-阻尼系统模拟摆动的绳子和布料的物理行为(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果2 实现过程2.1 一维弹性物体模拟2.1.1 质点类(Mass)2.1.2 弹簧类(Spring)2.1.3 模拟类(RopeSimulation)2.1.4 openGL实现 2.2 二维弹性物体…

场外个股期权为什么那么火?收益翻倍不是梦!

今天带你了解场外个股期权为什么那么火?收益翻倍不是梦!场外个股期权,与交易所交易的标准化期权相比,是在场外市场进行交易的定制化金融衍生品,很多人都很疑惑,场外个股期权咋就火起来了? 场外…

E810网卡驱动安装-适用于centos7.9

安装E810网卡驱动 问题现象处理过程最后 问题现象 新上的物理机,重新装最小化安装了centos7.9操作系统,系统起来后未发现有网卡,只有本地环回口 处理过程 第一点怀疑就是没有装驱动,因为我使用是浪潮的服务器,就到官…

LeetCode—string练习

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

【STM32项目设计】STM32F411健康助手--三脚--波轮开关--外部中断输入(3)

硬件设计 软件设计 key.c 波轮按键默认为低电平,需要配置为下拉输入,如果浮空的话电压会在1.8v上下波动,单片机检测会出现异常。波动时为高电平,设置为高电平触发。 key0是一个普通按键,忽略即可,key1~3为…

批量剪辑+批量发布的短视频矩阵系统,你真的需要吗?

矩阵的概念,可以简单理解成一种放大和复制的策略。就像你经营一家某宝店铺,如果每天能赚100元,那么通过开设更多的店铺,比如50家,你的日收入就能达到5000元。这就是所谓的“矩阵店铺”,它的核心在于通过增加…

uniapp使用uni-popup做底部弹出选项(vue3)

效果图 页面代码 <!-- 发票筛选弹出框 --><uni-popup ref"popupRef" type"bottom" border-radius"10px 10px 0 0" background-color"#fff"><h4 style"text-align: center;margin-bottom: 20px;">发票筛…

微服务配置管理

小编目前大一&#xff0c;刚开始着手学习微服务的相关知识&#xff0c;小编会把它们整理成知识点发布出来。我认为同为初学者&#xff0c;我把我对知识点的理解以这种代码加观点的方式分享出来不仅加深了我的理解&#xff0c;或许在某个时候对你也有所帮助&#xff0c;同时也欢…

计算机毕业设计选题推荐-企业人事管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Mysql(一) - 数据库操作, 表操作, CRUD

目录 一.数据库操作 1.增加数据库 2.展示数据库 3.删除数据库 4.选定数据库 二.表操作 1.增加选定数据库中的表 2.展示选定数据库中的表 3.删除选定数据库中表 4.查看选定表的字段信息 三.增加和查找 1.增加 2.查找 a.where的使用 b.分页查询 四.更新和删除 1.…

Spring及Springboot事件机制详解

程序设计的所有原则和方法论都是追求一件事——简单——功能简单、依赖简单、修改简单、理解简单。因为只有简单才好用&#xff0c;简单才好维护。因此&#xff0c;不应该以评论艺术品的眼光来评价程序设计是否优秀&#xff0c;程序设计的艺术不在于有多复杂多深沉&#xff0c;…

中资优配:“迪王”,拔得头筹!

Wind数据闪现&#xff0c;现在已有逾越190家上市公司入围券商9月“金股”组合。从举荐频次看&#xff0c;“迪王”比亚迪拔得头筹&#xff0c;阳光电源、我国移动等标的获券商密布举荐&#xff0c;医药生物等工作含“金”量高。 展望9月商场&#xff0c;券商判别&#xff0c;其…

真实:关于源代码防泄漏工作一些经验分享

互联网的飞速发展&#xff0c;各行各业都在往数字化转型&#xff0c;很多传统的业务数据都需要逐渐录入到电脑中&#xff0c;不仅节省了空间&#xff0c;还节约了成本。而这些数据都需要通过各类型的应用程序&#xff0c;进行分类&#xff0c;统计&#xff0c;展示&#xff0c;…