Commit Graph

20 Commits

Author SHA1 Message Date
Kelvin Mwinuka
108bf97b4d Extend SugarDB Commands Using Lua Scripts (#155)
* Extend SugarDB by creating new commands using Lua - @kelvinmwinuka
2024-12-12 09:50:43 +08:00
Kelvin Mwinuka
703ad2a802 Rename the project to SugarDB. (#130)
Renames project to "SugarDB" - @kelvinmwinuka
2024-09-22 21:31:12 +08:00
Samuel Adebayo
d0dd8dbfc1 [#70] Implement HMGET command (#104)
Added HMGET command - @thesambayo 

---------

Co-authored-by: Kelvin Clement Mwinuka <kelvinmwinuka@hotmail.co.uk>
2024-09-08 22:10:49 +08:00
Kelvin Clement Mwinuka
1bc9e9a7ca Moved main.go to cmd/main.go 2024-07-09 17:42:01 +08:00
Kelvin Clement Mwinuka
eae0db3861 Uncommented cluster nodes in docker-compose.yml 2024-07-06 14:04:19 +08:00
Kelvin Clement Mwinuka
f01a079ea7 Fixed paths for ssl certs in docker-compose.yaml environments for all the nodes. Updated Dockerfile.dev build path. Updated Dockerfile.prod to produce a final alpine image instead of using homebrew. 2024-07-06 13:58:02 +08:00
Kelvin Mwinuka
c6a85b6cbb Moved volumes folder to internal folder. Moved main.go file to the project's root instead of the cmd directory. 2024-07-04 11:50:35 +08:00
Kelvin Mwinuka
93a165e9f9 Added support for HELLO command.
Load modules build from Dockerfile.dev into instances from docker-compose.yml.
Fixed user loading from config file in ACL module.
2024-07-01 06:05:07 +08:00
Kelvin Mwinuka
9b0d590171 Removed RaftBindPort config. Raft bind address and port are dynamically assigned on startup instead of configured manually. Replaced memberlist-port configuration with discovery-port. 2024-06-20 04:20:31 +08:00
Kelvin Mwinuka
168e7608a5 Removed --in-memory flag as it's will no longer be used. 2024-06-13 22:12:19 +08:00
DMcP89
57d4718528 Finished implementing multi stage build 2024-06-13 09:34:28 -04:00
DMcP89
3c2b7220d3 Starting to implement build stage for Dockerfile.dev 2024-06-12 22:17:49 -04:00
Kelvin Clement Mwinuka
000115ceb0 Created "loadmodules" args for loading ".so" modules into EchoVault.
Moved types associated with embedded commands extension into api_admin.go file and deleted types.go file as it's no longer necessary.
Updated docker-compose and Dockerfile.dev to pass .so modules to load on startup.
Volumes folder is no longer ignores except for the nodes subfolder.
2024-04-30 12:17:30 +08:00
Kelvin Mwinuka
ba2ebaa6da Renamed 'server' package to 'echovault' 2024-03-25 16:26:09 +08:00
Kelvin Mwinuka
f27a0dda79 Implemented eviction algorithm that samples a configurable number of keys with TTLs (default 20) at a configurable interval (default 100ms) and deletes the keys that are expired. 2024-03-12 02:12:55 +08:00
Kelvin Clement Mwinuka
28f97656c4 Removed etc and get modules and replaced them with generic module. Implemented functions to set and remove the expiry of a key. Implemented LRU and LFU caches using heap. 2024-03-03 16:21:12 +08:00
Kelvin Clement Mwinuka
e569bf6837 Added config flags max-memory and eviction-policy to manage memory usage. Created ParseMemory utility function to parse max-memory value into bytes. Created LFU cache to be used with heap data structure for managing LFU cache. 2024-03-01 16:25:04 +08:00
Kelvin Clement Mwinuka
fbb0b8dc8d Removed plugin-dir cli flag as its not used 2024-02-26 00:37:00 +08:00
Kelvin Clement Mwinuka
5e1e362b28 Updated flags from camelCase to kebab-case 2024-02-25 23:27:57 +08:00
Kelvin Clement Mwinuka
b0375f2ef1 Renamed dev dockerfile to 'Dockerfile.dev' 2024-02-23 05:05:57 +08:00