- 博客(44)
- 收藏
- 关注
原创 Redis集群搭建(哨兵模式+一主两从)
先后升级到了7.0.15,7.2.6本以为搞定的时候,甲方临时发布通知:强制要求更新到7.4.3;辛辛苦苦的又要重来!所谓的物理迁移,指的是在redis开启了持久化存储过后,我们可以通过复制dump.rdb文件的方式都redis进行数据迁移。进入到目的地的redis,然后执行命令:迁移数据源的redis(192.168.1.201 6380迁移zhangsan的值)redis迁移:(7.4.3不太好用上边的migrate ,不知道为什么一直显示nokey,于是换了这种方法)
2025-04-30 10:35:13
740
原创 java中Long类型比较
如果不在[-127,128]之间,则会new一个新对象,自然“==”两个不同的对象,其结果必然是false了。string和Long不能直接用equals,需要将Long转换成string再比较。2、使用Long中的longValue()进行转换。
2025-04-15 10:20:08
227
原创 Mysql索引(四)
InnoDB存储引擎页的默认大小是16KB,一般表的主键类型是int,也就是4bytes或者bigint 8bytes,按照bigint来计算,指针类型也一般为6bytes,也就是说根节点一个页中大概存储16KB/(8B+6B)=1170个键值,假设叶子节点的一个页(主要存data的节点)的数据大小为1kb,那么大概就可以存16kb/1kb = 16条数据。上面的B树的每个节点不仅包含数据的索引值,也包含了数据的data值,B+树在此基础上只包含了索引。就算是全表扫描也是直接走的叶节点之间的指针。
2025-04-10 20:04:32
577
原创 MySql索引(三)
1、每次从磁盘中查找数据称为磁盘IO。磁盘IO至少要经历磁盘寻道、磁盘旋转、数据读取等操作;2、读取数据,最大的优化就是,减少磁盘IO;磁道(Track):磁盘旋转时,磁头在磁盘表面划出的每一个圆形轨迹。扇区(Sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段称之为扇区。磁盘块(Block):相邻的扇区组合在一起,形成一个磁盘块。页(Page):一个页通常对应于一个或多个磁盘块。数据库系统通过磁盘块来存储和管理页上的数据。系统从磁盘读取数据到内存时,是以磁盘块block。
2025-04-10 19:29:57
270
原创 Mysql索引(二)
因为有了磁盘IO预读机制,所以才有了减少磁盘IO的可能,因为一次磁盘IO操作,可以查找到物理存储中相邻的一大片数据。一次磁盘IO操作可以取出物理存储中相邻的一大片数据,如果查询的索引数据(就是B+树中从根节点一直到叶子节点整个过程中查询的节点数)都集中在该区域,那么只需要一次磁盘IO,否则就需要多次磁盘IO;非聚集索引:(二级索引)需要遍历两次B+树,第一次遍历是找到对应的主键,第二次遍历是根据主键找到具体的数据。聚集索引:(主键索引)从上至下遍历一次B+树,直到找到具体的主键,拿到叶子结点存储的数据。
2025-04-09 19:47:06
582
原创 Mysql索引(一)
聚簇索引 是数据表的 物理顺序 和 索引顺序 一致的索引,数据行本身按索引顺序存储,适用于范围查询和顺序查询。每个表只能有一个聚簇索引,通常是主键索引。非聚簇索引 是独立于数据表的索引结构,适用于多种查询类型。每个表可以有多个非聚簇索引,但由于需要回表操作,性能上会比聚簇索引略低。小问题:主键为什么建议使用自增id?主键最好不要使用uuid,因为uuid的值太过离散,不适合排序且可能出现新增加记录的uuid,会插入在索引树中间的位置,出现页分裂,导致索引树调整复杂度变大,消耗更多的时间和资源。
2025-04-06 19:51:57
917
原创 Aop切面编程(2)--代理模式
4.1.5)测试,invoke() 方法: 当我们的动态代理对象调用原生方法的时候,最终实际上调用到的是 invoke() 方法,然后 invoke() 方法代替我们去调用了被代理对象的原生方法。无需代理类实现接口,使用Cblib中的Enhancer来生成代理对象子类,并实现MethodInterceptor中的intercept方法,在此方法中可以实现增强功能。通过java提供的Proxy类帮我们创建代理对象,基于接口的动态代理需要利用JDK中的API,在JVM内存中动态的构建Proxy对象;
2024-07-12 15:19:25
1176
1
原创 Redis发布/订阅与Springboot整合
Redis的发布与订阅功能可以让客户端通过广播方式,将 消息(message)同时发送给可能存在的多个客户端,并且发送消息的客户端不需要知道接收消息的客户端的具体信息。在Redis中,客户端可以通过订阅特定的 频道(channel)来接收发送至该频道的消息,我们把这些订阅频道的客户端称为订阅者(subscriber)。客户端还可以通过向频道发送消息的方式,将消息发送给频道的所有订阅者,我们把这些发送消息的客户端称为发送者(publisher)。
2023-12-28 16:41:30
476
原创 Docker安装Elasticsearch可视化工具elasticsearch head
Docker安装Elasticsearch可视化工具elasticsearch head,需要注意事项
2023-12-19 15:26:31
579
原创 mac使用idea将本地代码还原成指定版本
1在终端中进入到项目所在文件夹下2使用svn info 获取指定项目当前的版本号3使用svn update -r 版本号,本地代码就跳转到指定版本
2021-07-24 21:32:46
289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人