- 博客(14)
- 收藏
- 关注
原创 Sql进阶
通过SELECT获取的表,添加别名后,可以用于FROM子句中的子查询(仅限于简单的查询)。解读:每对products表中的一条记录进行查询时,都会执行EXISTS函数,从order_items表中遍历,这个函数并不会返回一个集合给外查询,因此在非常复杂的数据中,可以非常好的提升查询效率。注意:使用UTF-8的汉字,每一个占3各字节,即 SELECT LENGTH('在这里') --- 9。是,则返回true,否,则返回false。如果不想当复读机,则可以使用 SELECT(子句中通过子查询获得的列名称)
2023-10-09 14:15:28
99
1
原创 JVM类加载过程
对同一个符号引用进行多次解析请求是很常见的时候,除了invokedynamic之外,虚拟机实现可以对第一次解析结果进行缓存,譬如可以在运行时直接引用常量池中记录,并把常量标识为已解析状态,避免重复解析。对于数组类型,本身是由虚拟机直接在内存中动态构造出来的,如果它的组件类型(去掉一个维度的类型)是引用类型的话,书上说的是,递归采用上述加载过程进行加载。对于非数组类型的引用类型,我们既可以使用JVM定义好的类加载器(引导类、扩展类、系统类),还可以使用自定义的类加载器。大体来说,是将符号引用转换为直接引用。
2023-07-05 19:26:01
118
1
原创 Redis分片集群深入
上一篇我们已经了解了,redis分片集群的搭建逻辑,方法是什么样的:以散列插槽的方式。接下来,让我们来学习redis集群的更多功能吧!
2023-06-26 10:55:20
90
1
原创 redis分片集群产生的原因,以及逻辑
上图圈出的部分,就是每个master在这个集群中所占据的部分(hash slot,共有16384个)。每个数据依照其key,根据哈希算法存储进不同的master中,很好地解决了数据冗余的问题。总结:redis集群中的数据,其key与hash slot绑定,操作数据时会根据key的有效部分会跳转到不同的节点下。也可以给key添加 {},{} 里的就是要进行hash计算的有效部分,否则整个key都是。并存储进集群中不同的master节点中,实现数据添加 / 查询。下面,往集群中写入数据试试!
2023-06-25 11:36:20
115
原创 基于Docker的redis哨兵模式
先思考这个:朋友们想想,如果我一台主机器宕机了,在没有外界帮助的情况下,有关这台机器上数据的写操作是不是都不可用了?
2023-06-14 18:39:56
563
原创 基于docker的redis主从
第一阶段:slave执行replicaof命令,向master发出数据同步的请求,携带自身的replication id,master接收到id,与自身的相比较,不同,则判断是第一次数据同步,返回master的数据版本信息,最重要的是replication id。第二阶段:如果是第一次数据同步,master则保存一个数据快照,开启一个子线程进行bgsave操作,生成RDB文件,并将RDB文件发送给slave机器,期间master做的其它操作会被写入到repl_backlog上。即可与主机搭建主从关系。
2023-06-13 11:22:59
60
1
原创 分布式缓存-Redis持久化
两者的区别是:rdb是直接将数据写入到文件(默认dump.rdb)当中,aof是将对数据的操作(增、删、改)的命令写入到文件(默认appendonly.aof)中,命令是有可能是无效的,所以aof文件要比rdb文件大得多。解读下save 3600 1,没有指明规则的情况下,默认3600秒下有1次数据的操作就写入(全盘写入,并。rdb的写入规则(什么时候写入):进入redis.conf文件,我们可以看到。aof持久化:将操作数据的命令添加到文件中。下面进入正题:redis持久化有两种:rdb、aof。
2023-06-13 10:20:27
91
1
原创 docker redis 哨兵机制 dir属性报错 No such file or directory
最近在整redis基于docker的哨兵机制时,引入sentinel.conf配置文件时,并且权限也是给满了的,但就是报错。
2023-06-11 19:59:01
279
2
原创 分布式之微服务学习3:Ribbon负载均衡策略
向order-service模块发送10次请求,发现UserApplication和UserApplication2模块中各接收到了5次请求,并且是交替接收的,因此得出结论,10个人去工厂打螺丝,他们都是计时的,打的多打的少都是拿一样的钱,老板肯定不会让一个人闲下来,否则等于白养,又不能让某个人太累了,防止他因工受伤,给医药费。要了解负载均衡策略,首先要知道什么是负载均衡。在虚拟机参数中添加,下面文本,配置项目的端口。最后启动项目,出现下面的样式,则复制项目成功。
2023-06-02 22:40:37
67
原创 分布式之微服务学习2:服务注册与发现客户端——eureka
5. 访问地址 http://localhost:10086,出现下面的界面,即为配置eureka服务端成功。3. 在启动类上添加注解 @EnableEurekaServer。注:不需要指定版本,springcloud中已经为我们制定了版本。3. 分别启动两个项目,出现下面的情况,说明服务注册成功。4. 调用main函数,启动eureka-server工程。2. 修改eureka-server配置文件。
2023-05-31 21:49:24
95
1
原创 分布式之微服务学习1:什么是微服务?
分布式:是一个概念。据我的理解,是将一个模块中的不同业务,单独抽离出来,形成单独的模块,减少它们之间的耦合,彼此之间不知道对方的实现细节,仅仅暴露一个接口,通过网络,给消费者调用。目的是解决因为越来越多的上网人数,导致单台机器因无法承接如此多的负载而崩溃的问题。如下图,用户登录业务,登录成功后,通过网络获取用户详细信息。常见的服务注册与发现的客户端有:eureka、nacos。微服务,是分布式的一个具体实现,服务的拆分粒度更细。要想了解微服务,就要先知道分布式。
2023-05-31 20:48:54
307
1
原创 利用sentinel做基于FeignClient的熔断降级
报错java.lang.IllegalStateException: Incompatible fallbackFactory instance. Fallback/fallbackFactory of type class cn.itcast.order.web.fallback.UserClientFallbackFactory is not assignable to interface org.springframework.cloud.openfeign.FallbackFactory for f
2023-05-31 17:17:07
197
1
原创 Java方法重载的本质
如果在类型 C 中找到与常量中的描述符和简单名称都相符的方法,则进行访问控制权限校验,如果通过则返回这个方法的直接引用,查找过程结束;如果不通过,则返回java.lang.IllegalAccessError 异常。如果始终没有找到合适的方法。则抛出 java.lang.AbstractMethodError异常。否则,按照继承关系从上往下依次对 C 的各个父类进行第 2 步的搜索和验证过程。找到操作数栈顶的第一个元素所执行的。
2022-11-23 20:34:25
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人