Git Product home page Git Product logo

Comments (1)

cjbrooks12 avatar cjbrooks12 commented on May 28, 2024

There should be multiple levels of caching, depending on the need.

  • Build Cache
    • In-Memory
    • Purpose: hold onto resources that cannot change during the course of a build, but may change between builds.
    • Examples: A template engine's template cache, Orchid resource cache, Orchid template resolution cache
  • Task Cache
    • In-Memory
    • Purpose: Since only one task is run per Orchid lifetime, this basically means the caching of anything that is not expected to change significantly during a normal development session.
    • Examples: Particularly expensive resource sources (such as HTTP calls to a headless CMS), and other things which can afford to not be current during a single development session, but are expected to be current every time Orchid is instantiated. Generic HTTP GET calls would likely be cached at this level.
  • Lifetime Cache
    • On-disk, checked into git
    • Purpose: These are items that are cached to a local directory and checked into git, so that they never need to be looked up again. This is useful for things that you know aren't going to change for a very long time, and once it has been downloaded once it really doesn't need to be downloaded again.
    • Examples: External assets referenced from a CDN, but downloaded locally; static assets aren't going to change, because changes necessarily mean a different URL, and thus a different resource. OEmbeds might also be useful to cache here, if your site embeds a lot of content

from orchid.

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.