Giter Club home page Giter Club logo

Comments (6)

pramsey avatar pramsey commented on September 6, 2024 1

Yeah, if you're caching just for load mitigation in a high usage scenario, the global expiration time on the cache will do the trick fine.

If you're caching because tile generation is slow enough to be noticeable, and you have relatively low usage, then you want your cache to persist until it's actually invalidated by data change.

So many use cases! 😄

from pg_tileserv.

pramsey avatar pramsey commented on September 6, 2024

Is there a reason that using something more decoupled, like a reverse caching proxy or even a CDN wouldn't meet your needs? Squid? Nginx with a reverse proxy? Varnish?

from pg_tileserv.

jtbaker avatar jtbaker commented on September 6, 2024

I hadn't thought of that. I do use NGINX for reverse proxying, but hadn't explored its caching functionality, which I'll dig into now.

Thanks for the suggestion, and closing out the issue (looking forward to the upcoming "discussion" feature for this sort of thing).

from pg_tileserv.

pramsey avatar pramsey commented on September 6, 2024

I'd love to hear your experience with this approach. I think it's a reasonable approach, but I'd love to hear real-world stories of benefits/drawbacks.

The only operational drawback I can see is that an externally managed cache is hard to link up to a signal from the database when changes in a table invalidate portions of the cache. In an ideal world, insert/update/delete can invalidate the relevant tiles in a cache, but that definitely requires communication between the database and the tile cache.

from pg_tileserv.

jtbaker avatar jtbaker commented on September 6, 2024

Thinking about it, it seems like having a frequent enough cache invalidation (maybe 1-5 minutes?) should generally address that issue, per the proxy_cache_valid NGINX directive. I guess it depends on how concurrent you expect your data to be though. I'll report back when I get some time to tinker with it.

from pg_tileserv.

dBitech avatar dBitech commented on September 6, 2024

from pg_tileserv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.