本地缓存到分布式缓存( Guava, Caffeine, Memcached, Redis)
本地缓存:指的是在应用中的缓存组件,是应用和cache是在同一个进程内部,单应用不需要集群支持或者集群情况下各节点无需互相通知的场景下使用本地缓存较合适;
分布式缓存:应用分离的缓存组件或服务,是自身就是一个独立的应用,与本地应用隔离,多个应用可直接的共享缓存
Java集合类
DBMirror
使用Map
来实现一个简单的内存缓存,Set
、List
都可以达到内存缓存的功能,例如HashMap
、LinkedHashMap
、TreeMap
、LinkedTreeMap
、ConcurrentHashMap
…
Redis
Redis 同样是一个高性能的基于内存中数据结构存储,用作数据库,缓存和消息代理。
Guava Cache
Google 提供的一个非常好用的 Java 工具包。提供缓存过期策略,过期时间、容量等. 简化了缓存的使用
Caffeine
Caffeine是一个基于 Java8 开发的提供了近乎最佳命中率的高性能的缓存库。
Memcached
一个高性能的、分布式的基于内存的key-value对象存储系统,用来存储小块的任意数据(字符串、对象)
Ehcache
Ehcache是纯Java开源缓存框架,是一个非常轻量级的缓存实现。
Spring Cache
Spring Cache 并不是缓存的实现,而是一个缓存管理的抽象解决方案,这种方案消除了样板方法的使用,屏蔽了缓存的使用细节,而这是 Spring 最擅长干的.
参考:
spring cache: https://github.com/google/guava/wiki/CachesExplained
caffeine: https://github.com/ben-manes/caffeine
memcached: https://www.memcached.org/
redis: https://redis.io/
本地缓存到分布式缓存( Guava, Caffeine, Memcached, Redis)相关推荐
- 本地缓存、分布式缓存以及多级缓存
像MySql等传统的关系型数据库已经不能适用于所有的业务场景,比如电商系统的秒杀场景,APP首页的访问流量高峰场景,很容易造成关系型数据库的瘫痪,随着缓存技术的出现很好的解决了这个问题. 一.缓存的概 ...
- 缓存基础----本地缓存、分布式缓存以及多级缓存
目录 一.缓存的概念(什么是缓存) 二.为什么要用缓存(为什么要用redis作为缓存) 三.缓存的分类有哪些 1.本地缓存 2.分布式缓存 3.多级缓存 像MySql等传统的关系型数据库已经不能适用于 ...
- 本地缓存与分布式缓存的优缺点、适用场景与实现分析
文章目录 一.缓存的概念 二.本地缓存 本地缓存的优缺点 适用场景 本地缓存的实现 三.分布式缓存 分布式缓存的优缺点 分布式缓存的实现 一.缓存的概念 在服务端编程当中,缓存主要是指将数据库的数据加 ...
- 本地缓存与分布式缓存
更多内容,前往 IT-BLOG 一般而言,现在互联网应用(网站或App)的整体流程,可以概括如图所示,用户请求从界面(浏览器或App界面)到网络转发.应用服务再到存储(数据库或文件系统),然后返回到界 ...
- 本地缓存、服务器缓存、分布式缓存介绍
缓存的意义 缓存存在的意义: 1.减轻数据库压力 2.提升接口的性能 3.缓解服务器压力(不用每次去请求资源): 4.提升性能(打开本地资源速度当然比请求回来再打开要快得多): 5.减少带宽消耗 例如 ...
- 【缓存】分布式缓存系统-DCache、redis、Memcached、SSDB
分布式缓存系统有DCache.redis.Memcached.SSDB等 区别 实际开发中经常使用的分布式缓存系统主要有Redis.MemCache.SSDB,这三者都是KV存储方案,各有优缺,但Re ...
- 本地缓存和分布式缓存
1.本地缓存:使用map,缓存在当前服务的进程里. 问题:当一个服务部署在多个服务器时,本地缓存会产生数据不一致,本地内存不足等问题. 2. 分布式缓存:使用缓存中间件,多个服务共享缓存.解决了数据不 ...
- 剑指offer之java缓存总结,从单机缓存到分布式缓存架构
1.缓存定义 高速数据存储层,提高程序性能 2.为什么要用缓存(读多写少,高并发) 1.提高读取吞吐量 2.提升应用程序性能 3.降低数据库成本 4.减少后端负载 5.消除数据库热点 6.可预测的性能 ...
- 让国内顶尖程序员低头的这份面试题之java缓存总结,从单机缓存到分布式缓存架构
1.缓存定义 高速数据存储层,提高程序性能 2.为什么要用缓存(读多写少,高并发) 1.提高读取吞吐量 2.提升应用程序性能 3.降低数据库成本 4.减少后端负载 5.消除数据库热点 6.可预测的性能 ...
最新文章
- IT阅读——关于“业务”
- 改善用户体验之密码强度提示
- 第三:jenkins集成httpclient项目并生成在线报告(接口自动化落地)
- Docker系列一之基础快速入门企业实战
- 《设计模式系列》---备忘录模式
- 保存时自动加分号_JavaScript 语句后应该加分号么?
- 用微PE安装KALI LINUX到U盘,【U盘安装kali】U盘 kali pe三合一教程!装机,存储
- 计算机 国际顶尖级会议排名,计算机学科国际会议排名
- 钉钉企业应用网关接入(保姆级教程)
- matlab shading 的用法说明
- struts2 数据校验
- Linux命令——parted
- 我的小游戏开发之路|腾讯TGideas周桂华(花叔)
- ISC2 成功的网络安全领导者必备的9大特质
- Spring Boot 解决同名类导致的bean名冲突bean name conflicts
- ipad无法更新最新版本ipadOS 16、不再连接到互联网解决方法
- 文科生能学好数据分析吗
- python unzip解压缩_Python压缩和解压缩文件(zip/unzip)
- 楚列斯基分解法、求矩阵范数的C++实现
- 混频对两路同频同源射频信号相位差的影响
热门文章
- 青云的机房组网方案(简单+普通+困难)(虚树+树形DP+容斥)
- Spring连接数据库的几种常用的方式
- quot;数据结构翻转课堂quot;答疑实录——链表
- Python sys 使用说明
- Q91:真实地模拟透明材质(Realistic Transparency)(3)——A Glass of Water
- 问题六十一:三次b样条(b-spline)曲线的控制点和曲线形状的对应——以回旋体的“基本曲线”为例
- 水很深的深度学习(四)——卷积神经网络CNN
- 使用数据分析工具的注意事项
- 数据治理的几个关键要素
- 企业数字化转型需注意什么