# Forced caching

**URL:** <https://www.ruby-forum.com/t/forced-caching/209912>\
**Category:** NGINX\
**Created:** [July 26, 2011, 11:57am UTC](https://www.ruby-forum.com/t/forced-caching/209912 "2011-07-26T11:57:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [July 26, 2011, 11:57am UTC](https://www.ruby-forum.com/t/forced-caching/209912/1 "2011-07-26T11:57:01Z")

</div>

Hi,  
what is the easiest way to force all request to be satisfied from the  
cache  
for lets say a minute? What I’m basically trying to do is to rate-limit  
the  
requests to the proxy upstream so that the upstream server will see no  
more  
than for example one request per minute for a specific url.

Regards,  
Dennis

---

<div class="post-metadata">

**Author:** ![Dennis\_J](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a183cd/32.png) [@Dennis\_J](https://www.ruby-forum.com/u/Dennis_J)\
**Post date:** [July 26, 2011, 4:01pm UTC](https://www.ruby-forum.com/t/forced-caching/209912/2 "2011-07-26T16:01:24Z")

</div>

I am sure there is a better way but here is a suggestion. Use the rate  
limit to identify when there is more than one connection per minute and  
redirect that to the cache, if it doesnt hit that limit then you can use  
the  
cache\_bypass. Not sure if this would work hope someone can confirm,  
but a  
thought.

```
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m;

```

location / {

```
      limit_req zone=one burst=1 nodelay;
      error_page 503 = @cached;

```

set $http\_my\_secret\_header “0”; proxy\_cache\_bypass  
$http\_my\_secret\_header;

```
    location @cached {

```

proxy\_pass  
}

Rami  
On Tue, Jul 26, 2011 at 5:55 AM, Dennis J. \<

---

<div class="post-metadata">

**Author:** ![Dennis\_J](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a183cd/32.png) [@Dennis\_J](https://www.ruby-forum.com/u/Dennis_J)\
**Post date:** [July 26, 2011, 4:25pm UTC](https://www.ruby-forum.com/t/forced-caching/209912/3 "2011-07-26T16:25:29Z")

</div>

There’s an attribute “updating” for proxy\_cache\_use\_stale. I think  
that’s what you need.

> **[GitHub - nginxinc/nginx-wiki: ARCHIVED -- Source for the now archived NGINX Wiki...](https://github.com/nginxinc/nginx-wiki)**
>
> ARCHIVED -- Source for the now archived NGINX Wiki section of https://www.nginx.com

- Z

On Tue, 26 Jul 2011 11:55:35 +0200  
Dennis J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> nginx mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [mailman.nginx.org archive](http://mailman.nginx.org/mailman/listinfo/nginx)

–  
Zeljko T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
