Commit Graph

16 Commits

Author SHA1 Message Date
osteensco
ff96d45b76 Use memory footprint of sugardb.store to compare against max memory for eviction policies (#133)
Improved memory usage reporting. - @osteensco
2024-10-04 10:14:12 +08:00
Kelvin Mwinuka
703ad2a802 Rename the project to SugarDB. (#130)
Renames project to "SugarDB" - @kelvinmwinuka
2024-09-22 21:31:12 +08:00
osteensco
a9732f81bf Iss 60: Implement Touch, with bonus commands ObjectFreq and ObjectIdleTime (#126)
Added TOUCH, OBJECTFREQ, and OBJECTIDLETIME commands - @osteensco 

---------

Co-authored-by: Kelvin Clement Mwinuka <kelvinmwinuka@hotmail.co.uk>
2024-09-15 04:20:27 +08:00
Scott Osteen
a7f0c07e5d randomkey command added for client-server spec 2024-08-15 16:21:33 -05:00
Kelvin Mwinuka
1a8d2314cd Implemented FLUSHDB and FLUSHALL command to clear logical databases. 2024-07-01 06:05:17 +08:00
Kelvin Mwinuka
9e4b61fce7 Implemented SWAPDB command handler. 2024-07-01 06:05:07 +08:00
Kelvin Mwinuka
dc9b33bc15 Added ability to set the connection's database in SetConnectionInfo function. Implemented SELECT command to allow TCP connections to select a different database. 2024-07-01 06:05:07 +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
d6162b23f6 Added database support for keyspace methods. Commented cache methods and standalone persistence initialisation until their implementations support databases as well. 2024-07-01 06:04:31 +08:00
Kelvin Clement Mwinuka
9745270b40 Added placeholders for adding protocol and database version in raft replication flow 2024-07-01 06:04:31 +08:00
Kelvin Clement Mwinuka
2d95de339b Added comments to clarify command handler types 2024-06-16 01:17:29 +08:00
Kelvin Clement Mwinuka
43361cdd42 Updated keyspace methods' signatures and made them all private. Ditched lock-per-key for a store-wide rwmutex. Updated HandlerFuncParams to match new keyspace method signatures. 2024-05-22 22:44:59 +08:00
Kelvin Clement Mwinuka
0f6ae1c8ac Implemented LoadModules method to load external modules at runtime.
Implemented UnloadModules method to remove modules at runtime.
Implemented ListModules method to list the current loaded modules.
Implemented "MODULE LOAD", "MODULE UNLOAD", and "MODULE LIST" commands.
2024-05-03 11:57:21 +08:00
Kelvin Clement Mwinuka
c241cc07b1 Renamed *AccessKey type to better represent the response on *KeyExtractionFunc types 2024-04-28 07:34:34 +08:00
Kelvin Clement Mwinuka
6ad3b7baab Exported EchoVault interface now onlu contains the keyspace methods. All other methods are private. Private methods are accessed using the reflect package in the test folder 2024-04-26 02:33:35 +08:00
Kelvin Mwinuka
bc188cfea4 Moved some types into internal folder as they will do not need to be exported. Changed GetState method to getState to make it private to the echovault package 2024-03-26 20:26:48 +08:00