资讯专栏INFORMATION COLUMN

缓存使用

simpleapples / 3389人阅读

摘要:使用代理缓存使用代理缓存,主要是一些配置,这里注意当缓存数据不一致时如何进行刷新。客户端接收到之后,使用自己的缓存渲染数据。在项目中使用很简单。使用标记的方法会在方法执行前或者将返回结果放入缓存中。

1,使用nginx代理缓存

使用Nginx代理缓存,主要是一些配置,这里注意当缓存数据不一致时如何进行刷新。

2,使用304状态码,http的304返回码使用etag,具体一点就是做个标记,可以理解为版本号。通过一定的算法,例如md5摘要进行校验。
客户端第二次进行请求的时候,携带etag标记,服务端正常处理,在返回的时候校验etag,相同的话返回304状态码。可以理解为请求成功。没有返回数据。客户端接收到之后,使用自己的缓存渲染数据。

例如,springboot使用shadowEtagFilter实现etag功能
很简单,在容器中注入一个Filter,就可以实现。例如:


对,就是这么简单,当第二次请求的时候,将使用客户端自己的缓存数据。

3,使用spring-cache
spring-cache有多个实现,这里我们使用redis。在springboot项目中使用很简单。它主要是作用在方法上的
只需要在应用主类中添加@EnableCaching注解。在数据获取部分使用@Cacheble就可以。
如果,有多个数据提供的话,需要配置cachemanager。
这里主要介绍一下,几个常用注解的含义:

@Cacheable和@CacheEvict和@CachePut:
使用@Cacheable标记的方法在执行后Spring Cache将缓存其返回结果
使用@CacheEvict标记的方法会在方法执行前或者执行后移除Spring Cache中的某些元素。
使用@CachePut标记的方法会在方法执行前或者将返回结果放入缓存中。
@Cacheable需要注意,与数据库中数据一致的问题
使用@CachePut和@CacheEvict需要时同一个缓存实例。相同的key

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40279.html

相关文章

  • MyBatis缓存介绍

    摘要:缓存介绍正如大多数持久层框架一样,同样提供了一级缓存和二级缓存的支持一级缓存基于的本地缓存,其存储作用域为,当或之后,该中的所有就将清空。一级缓存实现对的操作内部都是通过来执行的。 MyBatis缓存介绍   正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持   一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Se...

    mingde 评论0 收藏0
  • 慕课网_《Hibernate缓存策略》学习总结

    摘要:时间年月日星期二说明本文部分内容均来自慕课网。返回对象不同返回持久化实体类对象返回代理对象。与缓存的关系不同只缓存,但不使用缓存查询缓存除外会使用缓存。 时间:2017年07月11日星期二说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学源码:无学习源码:无 第一章:概述 1-1 概述 课程内容 了解缓存 掌握Hibernate一级缓存的使用 掌握H...

    codergarden 评论0 收藏0
  • 猫头鹰的深夜翻译:为何需要缓存以及如何实现缓存

    摘要:由于需要跨进程访问网络上的高速缓存,因此延迟,故障和对象序列化会导致性能下降。应用程序高速缓存会自动清除条目以保持其内存占用。缓存统计高速缓存统计信息可帮助识别高速缓存的运行状况并提供有关高速缓存行为和性能的信息。 前言 这篇文章探索了现有的各种JAVA缓存基数,它们对各种场景下提高应用的性能起着重要的作用。 近十年来,信息技术极高的提升了业务流程,它已经成为了全球企业的战略性方案。它...

    FuisonDesign 评论0 收藏0
  • HTTP缓存理解

    摘要:原因是,服务端在进行标识比较后,只返回部分,通过状态码通知客户端使用缓存,不再需要将报文主体部分返回给客户端。 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节。在介绍HTTP缓存之前,作为知识铺垫,先简单介绍一下HTTP报文 准备 HTTP报文就是浏览器和服务器间通信时发送及响应的数据块。浏览器向服务器请求数据,...

    jackzou 评论0 收藏0
  • (讨论)缓存同步、如何保证缓存一致性、缓存误用

    摘要:总结允许的缓存写场景大部分情况,修改成本会高于增加一次,因此应该淘汰缓存如果还在纠结,总是淘汰缓存,问题也不大先操作数据库,还是先操作缓存这里分了两种观点,的观点沈老师的观点。这里我觉得沈老师可能忽略了并发的问题,比如说以下情况一个写请求 缓存误用 缓存,是互联网分层架构中,非常重要的一个部分,通常用它来降低数据库压力,提升系统整体性能,缩短访问时间。 有架构师说缓存是万金油,哪里有问...

    msup 评论0 收藏0
  • (讨论)缓存同步、如何保证缓存一致性、缓存误用

    摘要:总结允许的缓存写场景大部分情况,修改成本会高于增加一次,因此应该淘汰缓存如果还在纠结,总是淘汰缓存,问题也不大先操作数据库,还是先操作缓存这里分了两种观点,的观点沈老师的观点。这里我觉得沈老师可能忽略了并发的问题,比如说以下情况一个写请求 缓存误用 缓存,是互联网分层架构中,非常重要的一个部分,通常用它来降低数据库压力,提升系统整体性能,缩短访问时间。 有架构师说缓存是万金油,哪里有问...

    y1chuan 评论0 收藏0

发表评论

0条评论

simpleapples

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<