Commit Graph

8 Commits

Author SHA1 Message Date
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