In-reply-to » @lyse Hey, it's nice to hear that :D

@lyse@lyse.isobeef.org If you’re going to seriously look at Bitcask (which I use in all my projects, including yarnd) you should know some things up front:

  • Be aware of a design flaw / bug #238 whereby your program will deadlock if you attempt to do .Get()(s) inside of a .Scan() or .Fold(). This is a known problem, so avoid doing this. The work-around is to copy the keys you want to work with, then perform your operations on them separately.

With that out of the way:

Hopefully most of the information on the README will be enough to get you started and understand performance characteristics and the overall API.

Couple of additional things to note:

  • There export/dump commands to help you debug your database. As well as import/restore the other way around.

For example, I use this frequently:

$ bitcask -p ./dinofs.db dump | jq '. | map_values(@base64d)'

…continued…

⤋ Read More