Comments (4)
I think the second option should be the first step of implementing this. Regardless of any other optimizations such as dropping them in the background, a client should never be able to access an entry after it has expired, so there should be a check every time the entry is accessed.
Shouldn't be a big problem to implement the actual expiration part of this, I'm more concerned about how we want to set the expiration time. A way to set individual lifetimes on entry creation would be good, but we probably also want to have default lifetimes for everything and a way to change entry lifetimes after creation (probably with PATCH when that happens).
from lucid.
Happy new year!
Something like this is a possiblity, but it's also possible with an http header like X-Expiration
.
curl -X PATCH -d 'ttl=3600' https://localhost:7021/api/kv/hello_world/
I also think that a way to specify expiration at the creation is a good and needed things!
Anyway we need to achieve the PATCH part and also determine if we use JSON or other.
from lucid.
Didn't think about http headers, definitely a good option here. Discussion about the PATCH method belongs in #44, but it's not a requirement for entry expiration anyway as long as there is another way to set them. I would use headers to set the TTL when creating entries and keep PATCH completely separate with it's own format, whatever that will be.
from lucid.
TTL and expiration is not really the same things, I mean we also need to define if we use TTL or an absolute expiration datetime (by example with a timestamp) or maybe the both?
The expiration will be also a problem for the persistence, but we will see that in the proper issue (#17)
from lucid.
Related Issues (20)
- Hot configuration with an API endpoint
- [Manifest] About some operations (like LOCK, EXPIRE etc) HOT 1
- [Manifest] File Storage / Compression
- [Roadmap][Alpha] Lucid Alpha Roadmap HOT 3
- [Question] Renaming Lucid?
- Moving configuration file parsing before fern HOT 3
- [Proposition] Dump / Export HOT 2
- [Roadmap][Beta] Lucid Beta Roadmap
- [Manifest] WebUI Requirements
- Prevent Yaml Parsing Crash HOT 3
- RUSTSEC-2020-0016: `net2` crate has been deprecated; use `socket2` instead
- RUSTSEC-2020-0018: crate has been renamed to `block-cipher`
- [docs] DNS NXDomain HOT 1
- I am not sure if this qualifies as a distributed datastore HOT 1
- The docs site seems to be down. HOT 1
- RUSTSEC-2020-0146: arr! macro erases lifetimes
- Failed to compile on Apple chip M1 HOT 2
- unable to run from quickstart docs HOT 1
- Go (golang) client HOT 1
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 lucid.