Comments (5)
segcache
storage crate has been published
from pelikan.
Some additional notes on this:
src/core/waker - moved to rustcommon, published as awaken
from pelikan.
Some additional questions/notes:
- Do we want to version all of the related
pelikan-*
crates in lockstep? If not, what is the versioning policy? - We should probably reserve the
pelikan
crate too - maybe as a virtual "install all the binaries" crate - Do we intend for the various storages to be useful as standalone libraries? (e.g. for segcache) If so, we'll probably want to do a second pass over them so they are useful.
- With this many crates being managed in the repo we will probably want some automation to handle the publishing work. There are tools for this and we should look into using them.
- Owner on crates.io - we should probably make a crates.io user for the pelikan foundation, that way we can either have publishing go through github actions or have a team with publishing permissions.
from pelikan.
@swlynch99 - great questions
- I think we should move from the unified version for the workspace back to version per crate. It's going to make the version number meaningful for the individual binaries. We'll do semver for everything, current plan would be to release each as 0.3.2 (next up from current 0.3.1). https://semver.org/#semantic-versioning-specification-semver
- great idea, i'll grab that now with a 0.0.0 namesquatting crate
- yes, individual storage libraries should be useful in other projects. eg 'seg' storage should be usable within another application or library. I believe the 'seg' crate is already in good shape for this, but we'll take another pass across everything and improve docs/ergonomics
- if you have suggestions, please share. I personally didn't love cargo-release when I last used it to contribute to an org repo. If we don't know yet, I'll try to see what other large projects are doing.
- yes, we'll also want to figure a plan for RPMs, DEBs, etc where appropriate
from pelikan.
This work would make it easier to embed Pelikan (and especially segcache) in other services! 👍 Thank you so much for considering that!
When you get to this work, could you please consider reviewing the dependency chains in Pelikan? Namely, today: seg
depends on (pelikan-)common
which depends on boring
(--> boring-sys
) and (pelikan-)net
. These introduce indirect dependencies that shouldn't be required to use segcache.
#89 tackled this last point ^
from pelikan.
Related Issues (17)
- `Set` command option's like 'EX 1000' and NX failing to parse
- Question about segcache eviction policy HOT 22
- Add basic Redis compatible backend
- Add storage library to support datastructures
- Add support for ssd/nvme storage
- Add support for tiered storage
- Add support for drop-in replacement of guava HOT 4
- Add support for unix domain sockets
- Add log message when hash power is too low HOT 3
- benchmark: part of threads never stopped when run with memtier_benchmark HOT 8
- Add fuzzer for RESP protocol HOT 1
- Resp protocol parser crashes when given a command ending with a newline HOT 1
- Segcache integration test is flaky within MacOS CI HOT 1
- Handle `SIGINT` in segcache HOT 6
- Building Dockerfile results in missing protoc error
- Comparing the memory footprint of pelikan and redis 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 pelikan.