Skip to content

vincer2040/lexidb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LexiDB

An in-memory data structure database

Note: This project is for currently for educational purposes only. If you are looking to use something similar in a production environment, you should use redis.

Getting started

Requirements

  1. cmake >= 3.10

  2. gcc

building

git clone [email protected]:vincer2040/lexidb.git
cd lexidb
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

from withing the build durectory, optionally run tests:

make test

running the server

./lexidb

running the cli

in a new terminal

./lexi-cli

run some commands

./lexi-cli
lexi> set foo bar
ok
lexi> get foo
"bar"
lexi> keys
"foo"
lexi> set baz 500
ok
lexi> get baz
500
lexi> set foo "bar baz"
ok
lexi> get foo
"bar baz"

Client libraries

currently, there are client implentations in:

  1. C - Included in this repo (hilexi.c)

  2. nodejs

  3. C++

  4. rust

See those repos for for more information

Configuring the server

change the default address

./lexidb --address <address>

change the default port:

./lexidb --port <port>

change the loglevel

./lexidb --loglevel info | debug | verbose

info - only logs when the server starts, connections are established, and connections are closed

debug - logs info, commands, and other debugging information

verbose - logs everything

change the path of lexi.conf configuration file

./lexidb --config <path to config>

users

add users for the database by editing the lexi.conf file

see lexi.conf for more details

About

an in memory data structure database

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published