Redis中Hash的实现
在Redis是使用String做缓存很垃圾的点:String在Redis中有三种编码:1.int 数字2.raw 空间开辟比较小,最多44字节3.embstr –如果存储的是字符串,而且这个值经常发生改变,那么性能很垃圾 如:从60个字节到70个字节,redis会开辟140个字节,防止你…
Redis的RDB和AOF
Redis的持久化方式有RDB和AOF两种 RDB:(Redis数据备份文件,也叫Redis数据快照)简单的来说就是把内存中的数据记录在磁盘中,当Redis实例故障重启时,从磁盘读取快照文件,恢复数据手动实现RDB:–save:通过Redis的主进程执行RDB,会阻塞所有指令执行R…
Sentinel服务保护(二)流控
使用Sentinel控制台的表单直接控制服务限流: 点击簇点链路,找到我们需要流控的端点,点击右侧的限流 流控模式:添加限流规则的时候,点击高级选项,可以选择三种流控模式:–直接: 统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式–关联:统计与当前资源相关的另…
Sentinel服务保护(一)入门
为什么需要服务保护:雪崩问题:在微服务项目中.因为一个服务故障不可用,导致所有该服务的消费方大量的请求积压,tomcat不可用,导致整个服务调用链上的服务全部不可用的现象 解决雪崩问题的策略: 1.设置超时时间: 当请求超过一定的时间没有响应就返回错误信息,不会让服务进入无休止等待状态(只能缓解雪崩…
SpringBoot自动化配置
借助springboot自动化配置原理,完成bean的自动化配置(直接将这个bean交给spring管理) 1.定于目标类(SmsTemplate) 2.定义一个配置类,在这个配置类中声明一个bean(方法,注解@Bean) 3.在该项目的META-INF/spring.factories文件中加入…
Spring异步处理
某一次面试被问到,SpringBoot中,实现一个多线程执行的方法,怎么做,懵了….. 看看解决方案: @EnableAsync和@Async使用方法: 1.首先在配置类上@EnableAsync来开启异步注解 2.使用@Async注解标记需要异步执行的方法: 使用@Async标记的异步…