如果想了解 redis 与Memcache的区别参考:Redis和Memcache的区别总结阿里的面试官问问我为何redis 使用跳表做索引,却不是用B+树做索引因为B+树的原理是 叶子节点存储数据,非叶子节点存储索引,B+树的每个节点可以存储多个关键字,它将节点大小设置为磁盘页的大小,充分利用了磁盘预读的功能。每次读取磁盘页时就会读取一整个节点,每个叶子节点还有指向前后节点的指针,为的是最大限度
  • arick
  • 2020-05-14 14:28:31
什么是Feign?Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。Feign被广泛应用在Spring Cloud 的解决方
  • arick
  • 2020-05-12 15:29:48
关于Redis雪崩,穿透,击穿的问题,第一次接触名字有点陌生,听上去还比较相似,难以理解,过去做的很多项目中也都是用过Redis,但是第一次听到这几个关于Redis的坑还是一脸懵逼,直到这些坑真正显灵的时候才彻底意识到搞明白。第一次线上遇到 Redis 雪崩的时候我是维护某电影线上平台(某首富家的)国内某电影平台,因为系统架构老旧,每年大年初一贺岁档电影上映,购票人达到高峰,系统就会发生因缓存失效
  • arick
  • 2020-04-05 20:54:33
2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐。不知不觉的 HTTP 已经发展到了第三代,很多项目也在逐渐使用 HTTP/3。本文基于兴趣部落接入 HTTP/3 的实践,聊一聊 HTTP/3 的原理以及业务接入的方式。1. HTTP/3 原理1.1 HTTP 历史在介绍 HT
  • arick
  • 2021-07-11 19:21:13
Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率。即使是普通的服务器,Kafka也可以轻松支持每秒百万级的写入请求,超过了大部分的消息中间件,这种特性也使得Kafka在日志处理等海量数据场景广泛应用。针对Kafka的基准测试可以参考,Apache Kafka基准测试:每秒写入2百万(在三台廉价机器上
  • admin
  • 2019-06-24 23:28:47
本文讲述睿客网的技术架构,相关技术及实现细节。技术选型:前端包括angular7+ssr+Nodejs,后端包括:Nginx、springboot2.0.4、jpa、mysql
  • admin
  • 2019-06-19 18:33:09
Tomcat线程池的优化1. 简介Tomcat继承并重写了JAVA原生的java.util.concurrent.ThreadPoolExecutor,增加了一些更有效率的方法,并且定义了默认拒绝策略。2. 原理分析2.1 实例化与阿里巴巴JAVA规范中定义的线程池创建规范类似,Tomcat实例化线程池时,同样限制了任务队列的长度,maxQueueSize默认为Integer.MAX_VALUE,
  • arick
  • 2019-11-16 23:42:00
ReentrantLock主要利用CAS+AQS队列来实现。它支持公平锁和非公平锁,两者的实现类似。CAS:Compare and Swap,比较并交换。CAS有3个操作数:内存值V、预期值A、要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。该操作是一个原子操作,被广泛的应用在Java的底层实现中。在Java中,CAS主要是由sun.misc.Unsafe这个
  • arick
  • 2020-04-14 06:57:28
1 cpu和内存模型  cpu和内存模型   上图描述的是cpu和内存模型之间的交互关系,现代的cpu模式和过去有很大的不同,不仅存在多核,也有多cpu的场景,极大提高了线程的并发性。cpu的处理速度非常快,而内存的处理速度较cpu来说较慢。增加了cpu cache memory进行提高指令执行效率,而问题是:cpu cache memory和主内存之间存在数据一致性问题。1.1 硬件层面内存屏障
  • arick
  • 2020-05-11 15:08:27
 Mac 操作命令:⌘+w是关闭标签刷新,网页是Command+R插销:command+z 反向撤回:shift+command+z 文件返回的上一级:Command + 方向上mac电脑窗口最大化默认的快捷键为:Command + control + F,但是这个窗口最大化快捷键也不是通用的,对于某些应用程序无效。 IntelliJ IDEA 操作命令:command + shift + / 注
  • arick
  • 2019-09-30 14:52:32
京ICP备19006603号-1 Rick ©2018