Redis的缓存类型分析

news2024/10/6 18:18:48

HashMap/ConcurrentHashMap

HashMap 是一种基于哈希表的集合类,它提供了快速的插入、查找和删除操作。是很多程序员接触的第一种缓存 , 因为现实业务场景里,我们可能需要给缓存添加缓存统计过期失效淘汰策略等功能,HashMap 的功能就显得弱。

 Broker 与 Name Server 集群中的所有节点建立长连接,定时每隔 30 秒注册 主题的路由信息到所有 Name Server。

Name Server 集群的作用就是注册中心,注册中心会保存路由信息(主题的读写队列数、操作权限等),路由信息就是保存在 HashMap 中 。

LinkedHashMap 缓存

LinkedHashMap 是 HashMap 的子类, 支持两种顺序插入顺序 、 访问顺序

TreeMap缓存

TreeMap 是基于红黑树的有序 Map,它可以按照键的顺序进行遍历。 在一致性哈希中可以用作节点/虚拟节点的存储结构,用来维护节点在哈希环上的位置和键的有序性。

ByteBuffer 缓存

ByteBuffer 是字节缓冲区,主要用于用户读取和缓存字节数据,在网络编程里,经常需要分配内存,在高并发场景下,性能压力比较大。Cobar 抽象了一个 NIOProcessor 类用来处理网络请求,每个处理器初始化的时候都会创建一个缓冲池 BufferPool 。

以上四种缓存:HashMap/ConcurrentHashMap 经常用于配置缓存,对于 HashMap 来讲,HashMap + 读写锁 + 定时任务更新是常用的模式。LinkedHashMap 经常被用于创建最近最少使用缓存 LruCache ,使用责任链装饰器的设计模式,内置 LruCache 的实现就是使用 LinkedHashMap 。TreeMap 是一种基于红黑树的有序 Map 。TreeMap 在一致性哈希中可以用作节点/虚拟节点的存储结构。ByteBuffer 主要用于用户读取和缓存字节数据,多用于网络编程、文件 IO 处理等。以上希望大家在使用过程中注意!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/683483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何搭建产品知识库?让产品知识库管理更有序高效!

在现代企业中,一个完善的产品知识库对于提升团队的工作效率和产品质量至关重要。本文将介绍如何搭建一个高效的产品知识库,并提供一些管理方法,以使知识库的管理更有序、高效。 随着科技的不断进步和市场竞争的加剧,企业对于高效…

python基础学习--01

1.python环境的安装: 1.安装 Python 解释器:https://www.python.org/ 1.选择下载: 2.选择windows x86 -64 可执行的安装文件 (根据自己电脑的操作系统选择) 3.安装完成后 左下角点击开始地方能看到这些说明安装好了。 4.安装…

SpringBoot原理(1)--@SpringBootApplication注解使用和原理

文章目录 前言主启动类的配置SpringBootConfiguration注解验证启动类是否被注入到spring容器中 ComponentScan 注解ComponentScan 注解解析与路径扫描 EnableAutoConfiguration注解 问题解答1.AutoConfigurationPackage和ComponentScan的作用是否冲突起因回答 2.为什么能实现自…

双路高速 AD 实验

目录 双路高速 AD 实验 1、简介 3PA1030 芯片 2、实验任务 3、程序设计 3.1、hs_dual_ad 模块代码 clk_wiz IP 核 的添加方法 ILA IP 核(集成逻辑分析器:Integrated Logic Analyzer,ILA) 4、硬件设计 4.1、添加.xdc约束…

23年软考网络工程师是什么?主要是考什么,有什么用?

网络工程师每年考两次,相比其他的软考考试一年中考的机会又多了一次 网络工程师证书考到后,通过本级考试的合格人员能根据应用部门的要求进行网络系统的规划、设计和网络设备的软硬件安装调试工作,能进行网络系统的运行、维护和管理&#xf…

汽车行业项目管理面临的5个挑战及解决方案

汽车行业正跨越式地迈向新的未来。其目前的发展主要由四大趋势驱动:连接性、自动驾驶汽车、共享出行和电气化。这给汽车企业带来了诸多挑战:竞争加剧,快速发展带来的频繁变化,与软件公司建立伙伴关系,以及其他相关问题…

GIS 功能模块实现

文章目录 1. GIS 模块流程图2. 网页端地图缓存的实现3. GIS 图形操作功能实现1 )地图漫游2 )对象删除3 )选择复制属性查看 GIS 基本功能模块主要是在表现层开发的,是在OpenLayers 开发框架提供的接口上,通过Geo Server…

【计算机网络复习之路】应用层(谢希仁第八版)

专栏:计算机网络复习之路 目录 一、域名系统DNS 1.1 本地域名服务器采用迭代查询 1.2 本地域名服务器采用递归查询 二、文件传送协议FTP 三、远程终端协议TELNET 四、万维网WWW (World Wide Web) 4.1 万维网需要解决的问题 【1】怎样标志分布在整个互联网…

在 Swift 中使用 async let 并发运行后台任务

文章目录 前言长期运行的任务阻塞了UI使用 async/await 在后台执行任务在后台执行多个任务使用 "async let " 下载多个文件结论 前言 Async/await 语法是在 Swift 5.5 引入的,在 WWDC 2021中的 Meet async/await in Swift 对齐进行了介绍。它是编写异步代…

实时日志管理分析解决方案

什么是日志管理 组织网络可能很复杂,由大量互连的系统、应用程序和设备组成。这些组件中的每一个都会生成大量日志数据,捕获有关系统事件、用户活动和网络流量的详细信息。生成的日志数据量庞大,因此难以有效管理和分析。 日志管理是收集、…

使用 DFS 解决排列数字问题并使用 pythontutor 可视化

使用 DFS 解决排列数字问题并使用 pythontutor 可视化 问题描述 给定一个整数 n n n,将数字 1 ∼ n 1∼n 1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数…

盘点内核中常见的CPU性能卡点

我们的应用程序都是运行在各种语言的运行时、操作系统内核、以及 CPU 等硬件之上的。大家平时一般都是使用Go、Java等语言进行开发。但这些语言的下面是由运行时、内核、硬件等多层支撑起来的。 我们的程序在运行的时候,很多时候性能卡点可能并不一定是自己的应用代…

Win系统下同时访问公司内网及公网设置

一、修改系统配置 修改系统配置,使公网默认不走VPN路由; 连接VPN,并查看路由表; route print可以看到,多了些路由信息,此时测试公网能否正常访问,如能正常访问,则继续往下。 二、…

入职字节两个月,实在卷不动,还是离职了

对自己收入不满意,就看下自己每天做了什么,把每天记录下来,看下自己的时间都用在哪里了。 对自己的时间分配搞清楚了,就可以着手去改进,如果一直糊涂的过,时间到了报复就来了。 时间管理很简单&#xff0c…

零代码、一键生成、低成本,深兰科技硅基大脑SaaS平台国内首发

在6月20日举行的2023中国(苏州)独角兽企业大会上,深兰科技创始人、董事长陈海波在主旨演讲中宣布,深兰科技推出“深兰科技硅基大脑SaaS平台”,旨在为个人和企业提供更便捷、更全面的大语言模型智能化应用。 AI大模型驱动“智慧涌现”&#xf…

Redis实战篇(一)

Redis实战篇基于哔哩哔哩中黑马程序员的黑马点评项目 一.缓存 1.1 缓存概述 1.什么是缓存 缓存,就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于本地代码 2.为什么要使用缓存 缓存数据存储于…

性能测试-压测问题分析,生产环境性能压测优化(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 项目背景&#xf…

从0到1精通自动化测试,pytest自动化测试框架,allure2生成html报告(史上最详细)(九)

一、前言 allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。 环境准备: python3.6windows环境pycharmpytest-allure-adaptorallure2.7.0java1.8 二、pytest-allu…

在 Blender 和 3DCoat 中创建风格化的幻想屋

今天云渲染小编给大家带来的是CG艺术家Brian Nguyen 最近的项目“一个风格化的幻想屋”幕后制作,讨论了 Blender 中的建模过程和 3DCoat 中的纹理过程,并详细介绍了如何设置灯光和K动画。 介绍 我是 Brian Nguyen,程式化的 3D 艺术家&#…

阿里云EMAS超级App助力Agmo电动车超级应用程序发布

近日,阿里云宣布与马来西亚本土数字方案专家Agmo控股(Agmo Holdings Berhad,简称Agmo)展开合作,签署谅解备忘录,联手推出马来西亚首个Agmo电动车超级应用程序。此次合作也标志着阿里云在中国以外的市场首次…