Added automatic backup system that triggers saves when data is modified. Changes include:
- Added tracking of data modifications in BackupSystem.cs
- Added debounce timer (5s) to prevent excessive backups during rapid changes
- Modified string, list, and hash operations to track data changes
- Ensures data is saved shortly after modifications without impacting performance
The previous implementation of `HandleLLengthCommand` was not correctly returning the list length. It was using `ListStoreWithReadLock` in a way that didn't capture the return value.
This commit fixes this issue by:
- Modifying `ListOperations.cs` to use the generic `ListStoreWithReadLock` method correctly, ensuring that the length of the list is returned.
- Updating the XML documentation in both `artifacts/native/Firefly.xml` and `artifacts/exe/Firefly.xml` to accurately reflect that `HandleLLengthCommand` returns the length of the list.
This commit introduces the LLEN command, which allows users to retrieve the length of a list stored in the database.
- Added `HandleLLengthCommand` function to `ListOperations.cs` to handle the LLEN command logic. This function retrieves the list associated with the given key and returns its length. If the key does not exist, it returns 0.
- Updated `Firefly.cs` to include the LLEN command in the command processing logic, mapping the "LLEN" command to the `HandleLLengthCommand` function.