Comments (7)
Hi, recently, I hack and migrate https://github.com/nicolasazrak/caddy-cache to be consistent with caddy 2 architecture and make it supports in-memory backend.
Here is the repo: https://github.com/sillygod/cdp-cache. Actually, I am not familiar with the mechanism of cache-control (there are so many RFC about it) and not totally understand the structure of caddy2. I have just touched caddy2 and https://github.com/nicolasazrak/caddy-cache for one week and more. Therefore, the code of my repo may be a little messy and not use caddy2's APIs so precisely.
Just to clarify, I just want to share my result and I hope this repo can give other people some inspiration or someone can give me any advice to help the cache function more stable and production-ready.
Finally, thank for the awesome work of caddy2 and nicolasazrak's https://github.com/nicolasazrak/caddy-cache
from cache-handler.
Cool. It would probably be best if we have just one cache handler for v2 rather than multiple, unless they do very different things / have very different approaches that would benefit different users.
But I'm thinking it's quite possible to have just one and satisfy most use cases.
Any interest in combining the two? This cache handler is a distributed cache which is important for a lot of customers I've talked to: they have too much to cache to fit in memory on one machine, and they have a cluster of Caddy instances deployed, so the distributed cache is essential: it just needs some finishing.
from cache-handler.
@urlund just in case it wasn't clear, this module is functional, just not feature complete. You can use it right now! See link to an example in the README: https://github.com/caddyserver/cache-handler#example-configuration
from cache-handler.
@francislavoie I see, may I suggest that you prioritize a "purge" feature then? :)
from cache-handler.
I agree with you on this point. I would like to combine these two repos. However, I am working on my repo to support my company's requirements so It will be changed frequently (ex. the architecture, features, and more). That means it not stable now.
The advantage to keep working on my repo is I can totally control it :) Maybe it's not a good timing to merge them. :(
from cache-handler.
@abiosoft If you're interested in working on this repo, consider checking @sillygod's implementation for ideas and real business requirements - might be helpful.
from cache-handler.
Hi, I'm new to Caddy, and I really love the idea of a cache module build in, and just wanted to give you guys some 👏
Hopefully someone will take lead, and get this project running 💪
from cache-handler.
Related Issues (20)
- How does stale work? HOT 5
- Cannot match current iteration key ETag HOT 9
- HEAD gives zero-sized Content-Length HOT 9
- Ability to force caching even if client sends no-cache HOT 2
- Caddy with cache-handler crashes frequently on virtuozzo/jelastic HOT 9
- big memory usage, memory leak? HOT 1
- Missing response on cached paths HOT 32
- Prevent caching based on response header HOT 12
- Maintenance and docs re: integrating upstream changes
- Last-Modified header and cache skip
- Cache a Redirect Response from reverse_proxy HOT 9
- Debug logging but without body content HOT 5
- Incomplete responses from reverse_proxy (context cancelled) are being cached
- http.handlers.cache Reused response from concurrent request with HOT 1
- How to remove listening port (5443) and protocol scheme (http/https) from the cache_key when it is not regular port while preserving the hostname? HOT 7
- Using cache-handler in production HOT 9
- http.handlers.cache Reused response from concurrent request with the key... HOT 2
- Support NutsDB In Memory mode HOT 1
- Impossible to open the Nuts DB.db.buildIndexes error: crc error HOT 4
- Redis with Large Cached Content Fails Resulting in Memory Leak HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cache-handler.