数据库

Redis中Bitmap的使用示例

统计当日活跃用户 用户签到 在日常开发过程中,经常会有一些 bool 类型数据需要存取。比如记录用户一年内签到的次数,签了是 1,没签是 0。如果使用 key-value 来存储,那么每个用户都要记录 365 次,当用户成百上亿时,需要的存储空间将非常巨大...

一文搞懂MySQL运行机制原理

前言 前文我们了解了MySQL采用客户端/服务器架构,用户通过客户端程序发送增删改查需求,服务器程序收到请求后处理,并且把处理结果返回给客户端。这篇文章主要看下MySQL服务端是如何处理客户端的请求,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 M...

MySQL数据库迁移OpenGauss数据库解析

环境 华为云服务器 4核 8G CentOS 8.0 64位 JDK11 Data Grip xshell xftp mysql 8 安装OpenGauss 1.此次安装基于Docker进行安装 docker安装步骤自行解决 # 基于docker进行安装 ...

Redis分布式锁如何实现续期

Redis分布式锁如何续期 Redis分布式锁的正确姿势 据肥朝了解,很多同学在用分布式锁时,都是直接百度搜索找一个Redis分布式锁工具类就直接用了.关键是该工具类中还充斥着很多System.out.println();等语句.其实Redis分布式锁比较...

Redis分布式锁详细介绍

分布式锁 在单进程应用中,当一段代码同一时间内只能由一个线程执行时, 多线程下可能会出错,例如两个线程同时对一个数字做累加,两个线程同时拿到了该数字,例如40,一个线程加了10,一个线程加了20,正确结果应该是70, 但由于两个线程在自己的内存中一个算出的...

mysql存储过程如何利用临时表返回结果集

首先要声明的是 1,游标的方法会很慢在mysql中,在oracle数据库中还可以,除非没有别的方法,一般不建议在mysql中使用游标, 2,不建议在mysql中拼接sql,会使存储过程显得很臃肿,可以使用or来动态判别传入的参数是否为空 and  ( TT...

关于sql脚本导入Oracle时重复生成check约束的问题解决

前言 最近在工作中一位细心的同事发现产品的全量sql脚本中有一些重复的check约束检查,就像下图这样的 重复脚本 怪异之处还在于,每次执行一遍该脚本,然后导出脚本,在导出脚本中重复的次数就会增加一遍。通过navicat,最终确认每导入一次就会新增加一条重...

Redis锁完美解决高并发秒杀问题

1 单机环境下的锁 2 分布式情况下使用Redis锁。 3 一台服务宕机,导致无法释放锁 4 给每一把锁加上过期时间 5延长锁的过期时间,解决锁失效 6 使用Redisson简化代码 场景:一家网上商城做商品限量秒杀。 1 单机环境下的锁 将商品的数量存到...