经过不断的性能优化,现在的系统已经可以承受千万级别的日访问量,其响应速度和吞吐量都有了明显的提升,其中缓存发挥了重大作用。结合业务需要,目前系统已构建起了两级缓存:分布式缓存Redis和本地缓存Ehcache.下面谈谈缓存应用的一些体会。一、分布式缓存Redis1.充分应用redis提供的数据结构  同是缓存,Redis相比memcache一个很大的优势就是其丰富的数据结构为一些应用功能的开发和优            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-06 18:29:12
                            
                                145阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Spring Boot + Mybatis + Redis二级缓存背景Spring-Boot因其提供了各种开箱即用的插件,使得它成为了当今最为主流的Java Web开发框架之一。Mybatis是一个十分轻量好用的ORM框架。Redis是当今十分主流的分布式key-value型数据库,在web开发中,我们常用它来缓存数据库的查询结果。本篇博客将介绍如何使用Spring-Boot快速搭建一个Web应用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-24 21:21:08
                            
                                17阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录1. redis集成2. pom.xml加入redis缓存支持3. 在项目配置文件中加入cache配置4. 在启动类开发缓存功能5. 需要缓存的实体对象实现序列化接口6. 缓存的使用7. 测试今天与大家分享,redis二级缓存实现案例。如有问题,望指教。1. redis集成使用redis做spring的二级缓存,首先完成redis的集成,参见springboot的常用组件集成。2. pom.x            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-07 13:26:52
                            
                                177阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一:目录结构二:分而治之redis和caffeine有各自的bean目录 自定义实现的bean(xxxxCache,Manager,Configuration,CacheResolve)等可以放在这里 redis和caffeine有各自的配置目录,分开配置自己的bean,序列化等 分而治之,回归一统:单独配置好Redis,单独配置好Caffeine,最后交给合并缓存(CaffeineRedis)进            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-14 22:12:17
                            
                                286阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            练习二级缓存Redis1.创建一个maven项目配置基础pom.xml<!-- 父级项目 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artif            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-20 20:37:19
                            
                                72阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录一、redis简介1、概述2、优点二、redis的搭建1、安装2、测试三、基本环境配置1、pom依赖2、yml配置3、测试连接四、三个基本缓存注解1、@Cacheable2、@CachePut3、@CacheEvict三者共有属性@CacheEvict的allEntries和beforeInvocation属性实例五、demo地址注意六、CacheManager的定制1、未定制前2、进行            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-14 16:45:40
                            
                                76阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、 设计目的支持Spring Boot 服务下,Redis + Caffeine的高性能分布式缓存的实现。减少应用服务的集成接入成本,快速实现缓存, 通过AOP方式拦截处理, 不侵入原业务逻辑。支持多种功能特性,如异步、超时(全局/单条控制)、压缩等,满足各种业务场景需要。二、 服务结构应用服务通过集成GEMINI-CACHE缓存组件, 实现对应用服务接口的缓存功能,内部通过AOP机制做拦截处理            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-28 16:31:35
                            
                                175阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            背景  在使用mybatis框架自带的二级缓存实现时有个问题就是: 部署多个实例会带来缓存不一致的情况,因为它是使用本地内存。于是有的选择不使用mybatis的二级缓存,干脆自己来写缓存和读缓存,一种普遍的做法就是先从redis中读取,没有就读库,然后再回写缓存供下次使用。这样会有两个问题, 第一 作为开发人员重点关注的应该是数据库,现在还要花费精力来关心缓存 ;第二 数据可能清除的不干净,比如有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-20 11:40:55
                            
                                101阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              工作中用到了springboot的缓存,使用起来挺方便的,直接引入redis或者ehcache这些缓存依赖包和相关缓存的starter依赖包,然后在启动类中加入@EnableCaching注解,然后在需要的地方就可以使用@Cacheable和@CacheEvict使用和删除缓存了。这个使用很简单,相信用过springboot缓存的都会玩,这里就不再多说了。美中不足的是,springboot使用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-16 15:37:56
                            
                                85阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或MemCache这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的压力。随着不断的发展,这一架构也产生了改进,在一些场景下可能单纯使用Redis类的远程缓存已经不够了,还需要进一步配合本地缓存使用,例如Guava cache或Caffeine,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-18 04:08:15
                            
                                256阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、概述 1.1 一些疑惑?  1.2 场景  1.3 一级缓存、两级缓存的产生  1.4 流程分析  二、项目搭建 一、概述1.1 一些疑惑?Ehcache本地内存Redis 分布式缓存可以共享一级(redis) 和二级概念(Ehcache )目的是当redis挂的之后,有备台(本地JVM缓存)一级(Ehcache )和二级概念(redis) 先走本地,如果本地没有在走网络,效率会更高点。Red            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-18 22:55:22
                            
                                75阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言mybatis可以自己带有二级缓存的实现,这里加上redis是想把东西缓存到redis中,而不是mybaits自带的map中。这也就构成了我们看到的springboot + mybatisplus +redis实现二级缓存的题目。具体步骤如下:首先加入需要的依赖<dependency>
    <groupId>org.springframework.boot</            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-14 22:45:14
                            
                                250阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis分布式缓存管理一. 本地缓存和分布式缓存二. 利用mybatis自身本地缓存结合redis实现分布式缓存三. 分析Mybatis缓存实现四. 自定义Rediscache实现五. 解决关联关系时更新缓存信息六. 执行增删改 清空缓存七.缓存优化策略八. Redis缓冲穿透/击穿/雪崩1.缓存穿透2.解决方式1.缓存击穿(量太大,缓存过期)2.解决方式1.缓存雪崩2.解决方式 Spring            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-11 23:49:18
                            
                                158阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近项目上用到二级缓存,加上之前也使用过J2Cache之类的二级缓存开源框架,因此对二级缓存做一个简单的总结。        二级缓存解决什么问题?目前缓存的解决方案一般有两种:内存缓存(如 Ehcache) —— 速度快,进程内可用集中式缓存(如 Redis)—— 可同时为多节点提供服务二级缓存主要解决:使用内存缓存            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-29 03:17:46
                            
                                80阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            EHCache 本地缓存Redis 分布式缓存(可以共享) 一级 Redis 二级Ehcache    当redis挂了 有备胎 反之:  先走本地,本地没有再走网络  尽量少走Redis  效率会高一些 Redis与数据库的区别:    相同点 都是需要进行网络连接  不同点            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-10 09:10:13
                            
                                75阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            mybatis配合redis实现分布式服务场景相信很多小伙伴都有在分布式框架中无法使用mybatis二级缓存的困扰把,因为二级缓存是单服务工作的,无法实现分布式缓存,例如两个服务器1和2,当用户1访问了服务器1时候查询的缓存会在1服务器上面,而这时候有用户访问服务器2的时候,就无法取出刚刚的缓存 为了解决此问题,我们需要引入第三方缓存框架Redis,我们将二级缓存查询出来内容放入到Redis中实现            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-10 17:42:15
                            
                                169阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一,为什么要使用二级缓存?我们通常会使用caffeine做本地缓存(或者叫做进程内缓存),它的优点是速度快,操作方便,缺点是不方便管理,不方便扩展而通常会使用redis作为分布式缓存,它的优点是方便扩展,方便管理,但速度上肯定比本地缓存要慢一些,因为有网络io所以在生产环境中,我们通常把两者都启用,这样本地缓存做为一级缓存,虽然容量不够大,但也可以把热点数据缓存下来,把高频访问拦截在redis的上            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-29 14:07:37
                            
                                184阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ## Redis二级缓存和MyBatis二级缓存实现
### 一、引言
Redis二级缓存和MyBatis二级缓存是常见的缓存技术,可以在应用程序中提高数据访问的性能。本文将介绍如何使用Redis和MyBatis实现二级缓存,并提供步骤和代码示例。
### 二、整体流程
以下是Redis二级缓存和MyBatis二级缓存的整体流程:
| 步骤 | 描述 |
| ---- | ---- |            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-16 16:49:29
                            
                                144阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、为什么使用多级缓存        缓存的使用是解决高并发问题的一个重要途径,所以缓存很重要。一般情况下使用本地缓存,如ehcache,guava等就可以了,但是针对分布式、集群架构,本地缓存无法做到相互之间数据保持一致,如果使用redis缓存,则需要不断的去连接redis,这个中间也是有一定的资源消耗,在并发较小的时候这些消耗不影响系            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-22 17:09:19
                            
                                234阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            为什么要设计缓存呢?其实高并发应对的解决方案不是互联网独创的,计算机先祖们很早就对类似的场景做了方案。比如《计算机组成原理》这样提到的cpu缓存概念,它是一种高速缓存,容量比内存小但是速度却快很多,这种缓存的出现主要是为了解决cpu运算速度远大于内存读写速度,甚至达到千万倍。传统的cpu通过fsb直连内存的方式显然就会因为内存访问的等待,导致cpu吞吐量下降,内存成为性能瓶颈。同时又由于内存访问的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-18 22:53:27
                            
                                134阅读
                            
                                                                             
                 
                
                                
                    