Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add channel cache #148

Open
gavin-norman-sociomantic opened this issue May 17, 2018 · 3 comments
Open

Add channel cache #148

gavin-norman-sociomantic opened this issue May 17, 2018 · 3 comments

Comments

@gavin-norman-sociomantic

Two ideas here, from common use cases:

  1. A size-limited, expiring cache backed by Get requests. (Should also cache the fact that a record does not exist.)
  2. A size-unlimited, non-expiring cache (a map really) backed by a Mirror request.

Both of these are very common patterns in applications, so it makes sense to provide standard dhtproto components for these tasks. Whether they could or should be merged into a single component that can be configured for different use cases can be discussed.

@gavin-norman-sociomantic
Copy link
Author

gavin-norman-sociomantic commented Jun 11, 2018

A size-unlimited, non-expiring cache (a map really) backed by a Mirror request.

This will be addressed in #82.

@gavin-norman-sociomantic gavin-norman-sociomantic added this to the v13.5.0 milestone Jul 12, 2018
@mihails-strasuns
Copy link
Contributor

A size-limited, expiring cache backed by Get requests. (Should also cache the fact that a record does not exist.)

This is becoming more important as ExpiringCache from ocean (which is most commonly used to implement this right now) is starting to hit its limits. See sociomantic-tsunami/ocean#539 - having specifialized solution which understands concepts of "empty record" and "dht error" would make code much more simpler.

@gavin-norman-sociomantic
Copy link
Author

This will be addressed in #82.

#82 has turned out to be just about the load / dump to disk aspect of a mirrored channel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants