Refactor Pocket Dimension #63
Labels
enhancement
New feature or request
improvement
Improve on existing feature
P-Low
Low Priority
refactoring
Major change to features
Pocket Dimension is a interface that handles caching of data encoded with
Sata
(originally wasData
), which can be used to fetch the data later on. The idea was to reduce the need for recurring calls for the same data, and to provide for quick indexing and searching of data. However, the interface is too simple and has become apparent to be missing functions related storing data such as files (with files it uses a struct to hold/maintain the metadata which may not be apparent to outside use), functions allow caching in a K/V (key/value) format while the underlining data is still stored in the format while also containing a function to store raw encoded data (Sata
) directly as it does now, while still maintaining a agnostic nature. This would make the interface friendlier and would extend functionality for different implementation, and in theory improve performance (due to other extensions also being async, this interface should probably do the same to prevent it from blocking any task)Interface should:
Allow insertingSata
directly into the cache, as it does now and fetch it later based on a query/filter.Additional thoughts:
DataType::Accounts
orModule::Accounts
so it is only store specifically for that type.Note:
Sata
directly on the interface (and may have to rethink using it internally) due to some noticeable overhead.Propose interface: TBD
Note: This will get updated overtime.
The text was updated successfully, but these errors were encountered: