Skip to content

fossMeDaddy/gbcache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GBCache [WIP]

Giga-Byte Cache.

Basic Idea

In-memory key-value pair LRU cache on top of structured data stored on local disk.

A giant fucking complicated hashmap

progress:

  • lru, in-memory read/writes
  • sync to disk
  • get, set, delete commands
  • increment command
  • server: make the damn thing
  • server: opt-in end-end AES256 encryption
  • TTL (more general, scheduled command runs, doesn't necessarily have to be a delete)
  • rewrite it in Rust (ah shit, here we go again...)
  • multi-threading (god save me, except there is no god, it's all lost & hopeless)
  • WAL file write & recovery for those of you with nastier kinks for your databases
  • pub/sub notifications for requested changes
  • backups, cuz yes.

Comments on Zig

  • error handling, i think all the languages should adopt errors as values already
  • explicitness, love it, no allocator? no heap!
  • comptime, chef's kiss
  • tests, it's actually convenient, just define a test block wherever you want!
  • standard library, fucking A

I haven't found anything negative about Zig, yet.

"then why are you rewriting it in Rust?"

I currently am finding out what REAL benefits rust provides by using it in another project, if the benefits outweigh the cost of a rewrite and subsequent maintenance is easier in rust overall, then I'll go through with it.

About

A giant fucking complicated hashmap.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages