Git Product home page Git Product logo

mumbo's Introduction

Mumbo

A wrapper over the native Go map

Download

You can check out the latest releases and download the binary. https://github.com/GavinDmello/Mumbo/releases

Operations list

  • Get
  • Set
  • Set with TTL
  • Exist
  • Delete
  • BatchGet
  • ListPush
  • ListRemove

Configuration

The config file needs to be a json file. You can place this file in the /etc/mumbo-conf.json folder. If the file is not present, a default configuration will be extended. The following options are honoured as of now :-

  • gcInterval The intervals after which garbage collections will happen of dead keys The value needs to be be given in milliseconds.
  • persistence If you want data to be persisted.
  • diskWriteInterval The interval after which the data will be dumped to the disk. Should be given in milliseconds.
  • port The port on which you want the server to run

Example config in /etc/mumbo-conf.json

{
    "gcInterval" : 100,
    "persistence" : true,
    "diskWriteInterval" : 300000,
    "port" : 2700

}

Benchmarks

This was done on a box with 8 GB RAM and i5 processor This benchmark was done on the same box without persistence. If done on different boxes the network might slow you down.

  • Reads per sec = 48,971
  • Writes per sec = 44,483

License

BSD

mumbo's People

Contributors

gavindmello avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

bravesomesh

mumbo's Issues

Make js client library

The client library should include

  • connection pooling
  • proper handling of callbacks
  • should make connections to Mumbo boxes if required (clustering kept in mind)

Active deletions Algorithm

An active deletion algorithm needs to be scoped out to make sure random keys are checked and actively deleted.
It should be made sure the active scanning and deleting process doesn't affect the performance by much.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.