GithubHelp home page GithubHelp logo

hero1s / shmhash Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shaneyuee/shmhash

0.0 0.0 0.0 24 KB

A multi level hash based on linux shm, using shmhash, user can put any key-value data in shared memory.

C++ 99.72% Makefile 0.28%

shmhash's Introduction

What is shmhash?

ShmHash is a C++ key-value store implemented with multi-level hash table based on linux shared memory. Using shmhash, one process can store kv data in shmhash so that multiple processes can read the data without locking.(But also note that shmhash is not write-write lock free, if multiple processes are writing to shmhash, one hash to enforece a lock mechanism by himself.)

Features

    1. Built-in cache replacement mechanism.
    1. Store most data at level 1 hashtable to achieve O(1) performance, while the other levels's size degrade very quickly.
    1. Use pre-recycle pool to avoid read-write colision, so that multiple reader processes can read at the same time while the writer process is writing the same key.

Memory structure

image

shmhash's People

Contributors

shaneyuee avatar

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.