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