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