桥梁
文章平均质量分 82
各种中间件
削尖的螺丝刀
Life is for living
展开
-
[ Netty ] 之 引用计数对象
从 Netty 版本 4 开始,某些对象的生命周期由它们的引用计数来管理,因此一旦不再使用,Netty 就可以将它们(或其共享资源)返回到对象池(或对象分配器)。因为垃圾回收和引用队列不能提供有效的实时不可达性的保证,所以Netty采用了引用计数提供了一种替代机制,但代价是会带来轻微的不便,因为这样一来内存管理就交给使用者管理了,虽然有一些自动释放的方法和逻辑,但同时手动释放的情况完全存在,所以写代码时无法避免对内存释放的注意。Netty中很多这样的引用计数对象,比如 ByteBuf。原创 2024-08-16 17:17:45 · 260 阅读 · 0 评论 -
[ ElasticSearch ] 螺丝刀学习笔记之 —— ElasticSearch(7.0UP学习概览)
在此1024广大猿人欢度佳节之际,作为广大猿族的一员怎能不拿出点东西庆祝庆祝呢?这不,压箱底的两篇学习笔记其中之一 —— ElasticSearch学习概览,就此 JI 出 ~~ , 欢迎各位猿友交流指正。 什么是ES?ES是一种开源、RESTful(隐藏了Lucene的复杂性)、可扩展的基于文档的搜索引擎,它构建在Lucene库上。用户通过JSON格式的请求,使用CRUD的REST API就可以完成存储和管理文本、数值、地理空间、结构化或者非结构化的数据。一句话简述: 实施分布式搜索.原创 2021-10-24 22:39:44 · 2365 阅读 · 0 评论 -
[ Redis ] 从一致性哈希算法说起,到 RedisCluster 集群的介绍
前言: 哨兵管理下的主从复制只做到了对一台Redis的高可用,本质上只存有一台机的数据容量。 —— 那么如果海量数据量超过了这台机器的容量呢? 你也许想到了,再对哨兵管理下的读写分离做集群。但是这个集群该怎么做呢? 最简单的做法,就是哈希分片(你可以类比HashMap) —— 原本所有数据是存在一个小规模读写分离集群上的。当数据超过这个小规模集群的时候。我们就应该做大规模集群了。这时候我们把这个小规模集群看成一个分片。配置多个这样的分片,然后通过哈希算法+对分片个数取模(.原创 2021-06-17 13:06:12 · 611 阅读 · 7 评论 -
[ Redis ] 主从复制、读写分离、哨兵、集群的原理分析和配置关注点
前言: 要理解Redis大规模集群的由来,就必然跨不过理解哨兵和主从复制的由来以及存在的缺陷,不管谁学习这几个知识点都逃不过这个顺序… 一、主从复制 + 读写分离现在的公司项目如果有Redis那么一定是集群的,再差再差也会有三台主从复制的机器来保证Redis的可用性。就算内存有256G也不能全部作为Redis存储内存,单台Redis最大使用内存不应该超过20G【主从复制作用】注:Redis哨兵管理的主从复制最低配置 —— (奇数个)三个哨兵 + 一拖二(至少三个)的主从模式,具.原创 2021-06-17 13:05:11 · 337 阅读 · 1 评论 -
[ Redis ] AOF 和 RDB 的相关介绍以及相关配置
如果Redis用作纯缓存,则可直接禁用AOF和RDB模式,从而关闭不必要的开销。 一、RDB (RedisDataBase)简介意思就是将整个Reids的数据(通过二进制格式),持久化到磁盘里,注意 —— RDB是Redis默认的持久化机制 。工作原理:fork子进程(默认bgwrite模式下是这个,这样的话就不会阻塞请求了,因为还有主线程在工作)进行当前数据的二进制文件写入磁盘。每次都是对当前所有的数据进行二进制文件写入,然后会替换掉之前老的二进制文件。(这就有个风险,如果不做.原创 2021-06-15 15:37:17 · 10452 阅读 · 15 评论 -
[ Redis ] redis.conf 文件详解
对于Redis.conf文件的了解很重要,和JVM、Mysql主从复制、Tomcat基础配置、Nginx配置一样,往往一些细节成就高手,那么要对Redis做集群或者一些基本网络配置,那么对这个Redis.config的了解必不可少 ,笔者将分为基操实战和配置详解两部分来剖析Redis的Config文件(也可直接跳到 配置详解 部分,了解redis.conf的详情)。 [ 基操实战 ]redis.config位于redis的解压包目录下,如下图我们一般把该配置文件copy到我.原创 2021-06-15 15:26:17 · 26420 阅读 · 13 评论 -
[ ElasticSearch ] 各种常规操作方法整理
本文为SpringBoot整合ElasticSearch后,对一些基本的操作方法做的整理,话不多说,直接上Code…???? ps: SpringBoot整合ElasticSearch1.首先我们新建一个测试实体类Productpackage com.example.demo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.ToString原创 2021-06-02 20:48:53 · 502 阅读 · 18 评论 -
[ ElasticSearch ] SpringBoot整合ElasticSearch
此文演示在IDEA下,SpringBoot整合ElasticSearch的整体流程,供大伙儿学习测试1.IDEA下选择新建Module2.选择版本3.选择版本 + 自定义名称4.选择需要的依赖(这里打钩的都选上即可)5. 自定义名称、路径6.Pom.xml中把ES版本改为和当前要操作的ES一致(比如我的是7.13.0)代码在此:<elasticsearch.version>7.13.0</elasticsearch.version>7.在prop.原创 2021-06-02 20:47:06 · 218 阅读 · 1 评论 -
[ Redis ] 小白入门 —— Redis在真实工作中是如何使用的?
WebServer时代大多在代码中使用Jedis直连来操作Redis服务器,所以人们都会针对Jedis在项目中封装一个工具类,但是微服务集成SpringBoot时代都是使用Lettuce(底层Netty,NIO模式),我们只需要关注RedisTemplate的使用就行了,但是SpringBoot默认的RedisTemplate有两个,一个是配置好的String型的Template(因为String类型多嘛)。如果我们要方便的使用更多数据结构,就必须提到另一个Spring提供的粗糙RedisTemplate.原创 2021-05-29 12:13:45 · 645 阅读 · 9 评论