首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

nginx 设置资源过期时间

例如我们现在有一个静态资源 s.css page.html 中引用了 s.css 访问page.html,通过firebug查看网络请求,会看到发送了2个网络请求,正常返回200状态 由于浏览器有默认缓存...也就是浏览器向服务器发送请求后发现文件没有变化,就是用了本地缓存 304的情况已经提高了访问性能,但还是需要和服务器有一次网络沟通 现在我们希望省掉这个不必要的网络请求,让服务器直接使用本地缓存,就需要服务器对资源进行过期时间的配置...,明确告诉浏览器多长时间内不用请求此资源了 现在我们对css文件进行过期配置,指明两天后过期 配置 location ~ .*\.css$ { expires 2d; } 现在把浏览器缓存清掉...Cache-Control ”的头标(起到控制页面缓存的作用) 语法:expires [time|epoch|max|pff] 默认值:off time - 可以使用正数或负数,“Expires”的值 = 当前系统时间

2.9K40

CDN-资源过期后如何回源

如果存放在CDN上的资源过期了,CDN并不会主动回源,而是等用户过来访问资源才会触发回源。 那么CDN回源时都做了哪些行为呢?下面来测试揭晓。...首先将txt文件后缀的缓存时间改成30秒,这样txt文件在CDN上只缓存30秒就会过期,30秒过后用户再次访问就会触发回源。...image.png 在源站服务器上用tcpdump抓包(内容如下图),资源过期后触发回源,CDN过来的请求会携带If-Modified-Since,该请求头的作用是判断源站服务器的txt文件是否有更新。...image.png 如果源站服务器的txt文件的Last-Modified发生了变化,CDN则要求源站提供最新的txt文件,然后CDN将最新的txt文件返回给用户,并同时更新节点上的txt文件。...所以呢,Last-Modified头部还是很重要的,建议源站服务器务必返回该头部给CDN,如果源站服务器不返回Last-Modified 头部,CDN可能无法正常更新节点上的txt文件,从而导致用户会一直访问到旧的资源

2.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    redis过期时间实现原理_redis过期时间实现原理

    一、有效时间设置: redis对存储值的过期处理实际上是针对该值的键(key)处理的,即时间的设置也是设置key的有效时间。...Expires字典保存了所有键的过期时间,Expires也被称为过期字段。...将key的过期时间设置为timestamp所代表的的毫秒数的时间戳 其实以上几种处理方式都是根据PEXPIREAT来实现的,设置生存时间的时候是redis内部计算好时间之后在内存处理的,最终的处理都会转向...3、4两种方式是指定一个过期时间 ,比如优惠券的过期时间是某年某月某日,只是单位不一样。 二、过期处理 过期键的处理就是把过期键删除,这里的操作主要是针对过期字段处理的。...定时删除:在设置键的过期时间的时候创建一个定时器,当过期时间到的时候立马执行删除操作。

    1.7K20

    redis设置过期时间

    redis是在内存中进行缓存的,我们在设置redis缓存时,可以设置下过期时间。那么在设置时间到期后redis是如何进行数据删除的。 redis清理过期数据。...定期清理 + 惰性清理 定期删除:redis数据库默认每隔100ms就会进行随机抽取一些设置过期时间的key进行检测,过期则删除。...惰性删除:定期删除还没有来得及删除,就被程序请求到的一个过期key,redis会先检测key是否,过期,如果过期则删除,不进行返回。...4)volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key(这个一般不太合适) 5)volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中...,随机移除某个key 6)volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除 LRU算法实现 public class LRUCache<

    2.8K30

    Rabbit 过期时间 (TTL)

    TTL, Time to Live 的简称,即过期时间 。 RabbitMQ 可以对消息和队列设置 TTL 。 设置消息的 TTL 目前有两种方法可以设置消息的 TTL。...第一种方法是通过队列属性设置,队列中所有消息 都有相同的过期时间。第二种方法是对消息本身进行单独设置,每条消息的 TTL 可以不同。...消息在队列中的生存时间一旦超过设置 的 TTL 值时, 就会变成"死信" (Dead Message) ,消费者将无法再收到该消息 (不是绝对的) 通过队列属性设置消息 TTL 的方法是在 channel.queueDeclare...用于表示过期时间的 x-expires 参数以毫秒为单位 , 井且服从和 x-message-ttl 一样 的约束条件,不过不能设置为 0。...> argss = new HashMap(); //创建一个6000ms的消息 argss.put("x-message-ttl", 6000); // 创建一个过期时间

    1.6K50

    Redis 设置过期时间

    Redis 中有个设置时间过期的功能,即对存储在 redis 数据库中的值可以设置一个过期时间。 作为一个缓存数据库,这是非常实用的。...比如,一般项目中的 Token 或是 Cookie 信息,尤其是短信验证码,都是有时间限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能。...我们 set key 的时候,都可以给一个 expire time,也就是过期时间,这样就指定了这个 key 可以存活的时间。...答案是:定期删除 + 惰性删除 定期删除:redis 默认每隔 100ms 就 随机抽取 那些设置了过期时间的 key,检查其是否过期,如果过期,就删除。注意,这里是随机抽取的。为什么要随机呢?...想想,假如 redis 存了几十万个 key ,每隔 100ms 就遍历所有设置了过期时间的 key 的话,会给 CPU 带来很大的压力 惰性删除 :定期删除可能会导致很多过期的 key 到了时间并没有被删除掉

    4K20

    CDN静态资源加速

    静态资源访问的关键点是就近访问。可以考虑在业务服务器的上层加一层特殊缓存,即CDN。...简单来说,CDN 就是将静态的资源分发到,位于多个地理位置机房中的服务器上,因此它能很好地解决数据就近访问的问题,也就加快了静态资源的访问速度。...DNS解析过程需要做本地缓存,降低DNS解析过程的响应时间。一个具体的解决思路如下: 在 APP 启动时,对需要解析的域名做预先解析,然后把解析的结果缓存到本地的一个 LRU 缓存里面。...是否能够从 CDN 节点上获取到资源还取决于 CDN 的同步延时。 一般会通过CDN厂商的接口将静态资源写入某一节点,然后通过内部同步机制分散同步到每一个节点。...所以在使用CDN时需要关注CDN的命中率和源站的带宽情况。 参考资料 高并发系统设计40问

    21.2K31

    redis如何设置定时过期_redis 设置过期时间

    1、设置过期时间功能:即对存储在 redis 数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。...我们 set key 的时候,都可以给一个 expire time,就是过期时间,通过过期时间我们可以指定这个 key 可以存活的时间。...定期删除+惰性删除 (1)定期删除:redis默认是每隔 100ms 就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除。注意这里是随机抽取的。为什么要随机呢?...(2)惰性删除:定期删除可能会导致很多过期 key 到了时间并没有被删除掉。所以就有了惰性删除。...假如过期key,靠定期删除没有被删除掉,还停留在内存里,除非系统去查一下那个 key,才会被redis给删除掉。这就是所谓的惰性删除。 注意:但是仅仅通过设置过期时间还是有问题的。

    4.6K30

    11.24 静态元素过期时间

    配置静态元素过期时间目录概要 浏览器访问网站的图片时会把静态的文件缓存在本地电脑里,这样下次再访问时就不用去远程下载了 增加配置 ExpiresActive...ExpiresDefault "now plus 0 min" 需要expires_module curl测试,看cache-control: max-age 配置静态元素过期时间...静态元素,就是访问的图片、css、js 当用浏览器去访问一个网站的时候,这个网站里所有的静态文件(比如图片的样式、js),浏览器就会默认把静态文件缓存在电脑里,叫做临时的目录或目录 缓存的时间是在服务器上定义的...-560daacfdbb40" Accept-Ranges: bytes Content-Length: 8362 Cache-Control: max-age=86400 //缓存的时间...Expires: Fri, 22 Dec 2017 22:42:28 GMT //过期时间 Content-Type: image/png [root@hf-01 111.com]#

    84890

    Javaweb设置session过期时间

    Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了...设置Session超时时间方式 方式一:在web.xml中设置session-config 如下: 2</session-timeout...(); //获取session的创建时间 session.getLastAccessedTime(); //获取上次与服务器交互时间 session.getMaxInactiveInterval(...); //获取session最大的不活动的间隔时间,以秒为单位120秒。...没有超时),每次访问sessionId相同,若代码中设置了session.setMaxInactiveInterval()值,那么这个session的最大不活动间隔时间将被修改,并被应用为新值。

    2.8K21
    领券