`

原来还有个缓存

    博客分类:
  • J2EE
阅读更多
写了不少代码,但是真正看得过去的代码还没有几个。

缓存这一块从来没有正视过。可能做的系统比较小,也可能从来没有意识到它的存在。
也许我的心里只有面向过程,还没有面向对象的思想。依然使用事务脚本的开发过程。

最常用的是hibernate的二级缓存

看了好几遍的一篇好文章:
http://www.jdon.com/article/36063.html

自己的理解能力还是很差,看了几遍的DDD,但还是没有理解到这一层。

缓存原来包含了DDD的一个精华点:聚合与不变性

一个缓存是application级的,一个应用只有一个缓存。

缓存什么时候更新?缓存更新时,数据库就可能要操作一次。
那么这又是一个面向对象设计的问题,如果设计得不好,那么缓存就会不停的更新。

引用
Repository重点是将折叠的椅子还原成可以坐的椅子,而与缓存控制关系不大




0
0
分享到:
评论

相关推荐

    浏览器缓存机制介绍与缓存策略剖析.pptx

    强缓存的缓存规则是由服务器端的 HTTP 响应报文的 HTTP 头中控制的,主要有 Expires 和 Cache-Control 两个字段,其中 Cache-Control 优先级比 Expires 高。Cache-Control 字段可以控制资源的有效期,通过 max-age ...

    面试中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级怎么解答?.docx

    解决缓存穿透可使用布隆过滤器,将所有可能存在的数据哈希到一个位图中,无效的查询会被拦截;另一种简单方法是将空结果也缓存,但设置较短的过期时间。 3. **缓存预热** 缓存预热是在系统上线前或重启后,提前...

    深入理解MyBatis中的一级缓存与二级缓存

    二级缓存的原理是:每一个namespace的mapper都有一个二级缓存区域,两个mapper的namespace如果相同,这两个mapper执行sql查询到数据将存在相同的二级缓存区域中。 开启二级缓存需要在MyBatis的配置文件中加入 `...

    缓存、缓存算法和缓存框架简介.docx

    1. **Ehcache**:一个广泛使用的开源缓存解决方案,支持本地缓存和分布式缓存,提供了丰富的API和配置选项。 2. **Redis**:一个内存数据结构存储系统,可用作数据库、缓存和消息中间件,具有高性能和丰富的数据结构...

    spring简单的缓存

    缓存的配置可以很灵活,可以定义多个缓存,每个缓存有自己的策略,比如过期时间、最大元素数等。这些配置可以通过`@CacheConfig`注解在类级别上进行,也可以通过`@Cacheable`、`@CacheEvict`等注解在方法级别上进行...

    asp.net缓存 缓存

    ASP.NET缓存是微软开发的Web应用程序框架中的一个重要特性,用于提高网站性能和减少服务器负载。缓存技术在.NET框架中扮演着至关重要的角色,它能够存储数据以便快速访问,从而减少对数据库或其他慢速资源的依赖。在...

    本地缓存与分布式缓存优缺点,使用

    分布式缓存是指与应用程序分离的缓存组件或服务,其最大优点是自身就是一个独立的应用,与本地应用隔离,多个应用可直接共享缓存。 分布式缓存优点 1. 支持大数据量存储。 2. 集群方式部署:方便横向扩容,保证高...

    hibernate一级缓存、二级缓存和查询缓存

    Hibernate的一级缓存、二级缓存和查询缓存共同构建了一个层次化的缓存体系,有效地缓解了数据库的压力,提升了应用的运行效率。理解并掌握这些缓存机制,对于优化Hibernate应用至关重要。在实践中,合理配置和管理...

    geoserver配置图层缓存

    4. 设置缓存地址:在“存储路径”或“Cache directory”字段中,指定一个用于存放缓存文件的本地目录。确保这个目录有足够的空间来存储缓存的图像。 5. 开启缓存服务:保存配置后,返回图层列表,点击你需要缓存的...

    PHP 缓存 PHP 缓存

    - 在多线程或多进程环境中,多个请求可能会同时尝试更新相同的缓存项,导致数据不一致。 - 解决方案包括使用分布式锁服务或在缓存层加锁。 5. **缓存失效:** - 缓存失效策略应合理设计,以避免大规模的缓存集中...

    hibernate一级缓存和二级缓存的区别与联系

    Hibernate 是一个流行的对象关系映射(ORM)框架,它提供了数据缓存机制以优化数据库访问性能。缓存机制分为一级缓存和二级缓存,两者都有助于减少对物理数据库的直接访问,从而提高应用程序的运行效率。 一级缓存...

    JSP 页面缓存以及清除缓存

    ### JSP 页面缓存及其清除方法详解 #### 一、JSP页面缓存的重要性与应用场景 JSP(Java Server Pages)技术是一种结合了HTML、XML和Java编程的技术,用于创建动态网页。在JSP开发中,页面缓存是一种常用的技术手段...

    redis本地缓存与redis缓存

    文件名称“RedisCache-master”可能是一个包含Redis缓存相关项目的源代码仓库,里面可能包括了如何配置、使用Redis作为缓存的示例代码,以及如何与本地缓存结合的实践。 总结来说,本地缓存和Redis缓存各有优势,...

    java map 实现缓存技术

    缓存中的数据不是永久存储的,通常会有一个有效期,过了这个期限,数据就会被自动清除,以防止占用过多内存或保持数据的新鲜度。这里的时间Out参数表示缓存的超时时间,将其乘以1000是为了将秒转换为毫秒,因为Java...

    Redis用作二级缓存

    Redis作为二级缓存是数据库系统优化的一个重要策略,特别是在高并发、大数据量的场景下,可以显著提升应用性能。在Mybatis中,二级缓存是一个跨Mapper共享的区域,用于存储查询结果,避免了重复查询数据库,从而降低...

    springboot缓存一致性解决

    在Spring Boot应用中,缓存一致性是一个重要的议题,特别是在分布式系统中,多个节点可能同时访问并更新同一数据,导致缓存中的数据不一致。本文将深入探讨Spring Boot中如何处理和解决缓存一致性问题。 首先,我们...

    webapi接口缓存组件

    本文将详细介绍这个自定义的WebAPI接口缓存组件的设计原理、实现方式及其优势。 一、设计原理 WebAPI接口缓存的核心思想是基于请求-响应模式,当一个请求被发送到API接口时,如果该请求的参数与之前某次请求完全...

    Android WebView 缓存详解

    页面缓存:加载一个网页时的html、JS、CSS等页面或者资源数据,这些缓存资源是由于浏览器 的行为而产生,开发者只能通过配置HTTP响应头影响浏览器的行为才能间接地影响到这些缓存数据。 而缓存的索引放在:/data/...

    vbsIE缓存一键清理

    在这个场景中,VBScript被用来编写一个简单程序,实现一键清理IE浏览器的缓存。 2. **IE(Internet Explorer)缓存**: Internet Explorer(IE)是微软公司开发的网页浏览器,它有一个本地缓存系统,用于存储用户...

    THINKPHP缓存清理器

    "THINKPHP缓存清理器"是一个专门针对ThinkPHP项目的工具,用于清理RUNTIME文件夹下的DATA CACHE和其他缓存文件。这一步骤在某些情况下是必要的,例如: 1. **更新数据**:当数据库中的数据发生变化时,旧的缓存数据...

Global site tag (gtag.js) - Google Analytics