Storage Module
The Storage module provides different storage implementations for data management, including hot, cold, and mixed storage strategies.
Base Storage
Base classes and utilities for storage implementations.
- class true_storage.storage.base.StoragePolicy(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
EnumStorage policies for data management.
- STRICT = 'strict'
- LENIENT = 'lenient'
- LAZY = 'lazy'
- class true_storage.storage.base.StorageMetrics(hits=0, misses=0, total_operations=0, total_errors=0, avg_response_time=0.0, storage_size=0, last_cleanup_time=0.0)[source]
Bases:
objectStorage metrics for monitoring.
-
hits:
int= 0
-
misses:
int= 0
-
total_operations:
int= 0
-
total_errors:
int= 0
-
avg_response_time:
float= 0.0
-
storage_size:
int= 0
-
last_cleanup_time:
float= 0.0
- __init__(hits=0, misses=0, total_operations=0, total_errors=0, avg_response_time=0.0, storage_size=0, last_cleanup_time=0.0)
-
hits:
- class true_storage.storage.base.StorageEvent(storage_id, event_type, data=None)[source]
Bases:
objectBase class for storage events.
- __init__(storage_id, event_type, data=None)[source]
- class true_storage.storage.base.StorageEventHandler[source]
Bases:
ABCAbstract base class for storage event handlers.
- class true_storage.storage.base.StorageOptimizer[source]
Bases:
ABCAbstract base class for storage optimizers.
- class true_storage.storage.base.StorageStrategy[source]
-
Abstract base class for storage strategies.
- class true_storage.storage.base.BaseStorageManager(storage_id, policy=StoragePolicy.STRICT, event_handlers=None, optimizer=None)[source]
Bases:
objectBase class for storage management.
- __init__(storage_id, policy=StoragePolicy.STRICT, event_handlers=None, optimizer=None)[source]
- register_callback(event_type, callback)[source]
Register a callback for an event type.
- Return type:
- _trigger_callbacks(event_type, *args, **kwargs)[source]
Trigger callbacks for an event type.
- Return type:
- get_metrics()[source]
Get current storage metrics.
- Return type:
StorageMetrics
Hot Storage
Hot storage module providing fast in-memory caching with LRU eviction strategy.
This module implements a high-performance hot storage system using LRU (Least Recently Used) caching mechanism with features like expiration, optimization, and event handling.
- Classes:
HotStorage: Main class implementing hot storage functionality. StoragePolicy: Enumeration of possible storage policies. (you can import it from base.py)
- Functions:
None (all functionality is encapsulated in classes)
- Types:
None
- Exceptions:
StorageError: Raised when storage operations fail
- Key Features:
LRU (Least Recently Used) caching strategy
Thread-safe operations
Automatic item expiration
Data optimization support
Event emission system
Performance metrics tracking
Configurable storage policies
Callback system for storage events
- class true_storage.storage.hot.HotStorage(storage_id='hot_storage', max_size=100, expiration_time=300, policy=StoragePolicy.STRICT)[source]
Bases:
BaseStorageManagerHot storage implementation with LRU cache and advanced features.
- __init__(storage_id='hot_storage', max_size=100, expiration_time=300, policy=StoragePolicy.STRICT)[source]
Cold Storage
Cold storage module providing persistent disk-based storage with compression.
This module implements a disk-based storage system with data compression and metadata tracking for efficient long-term data storage.
- Classes:
ColdStorage: Main class implementing cold storage functionality. StoragePolicy: Enumeration of possible storage policies. (imported from base.py)
- Functions:
None (all functionality is encapsulated in classes)
- Types:
None
- Exceptions:
StorageError: Raised when storage operations fail
- Key Features:
File system based persistent storage
Data compression using zlib
Metadata tracking for stored items
Thread-safe operations
Performance metrics tracking
Event emission system
Configurable storage policies
Automatic directory management
Size and statistics tracking
- class true_storage.storage.cold.ColdStorage(storage_id='cold_storage', storage_directory='cold_storage', compression_level=6, policy=StoragePolicy.STRICT)[source]
Bases:
BaseStorageManagerCold storage implementation with compression and advanced features.
- __init__(storage_id='cold_storage', storage_directory='cold_storage', compression_level=6, policy=StoragePolicy.STRICT)[source]
Mixed Storage
Mixed storage module combining hot and cold storage capabilities.
This module implements a hybrid storage system that leverages both in-memory (hot) and disk-based (cold) storage for optimal performance and data persistence.
- Classes:
MixedStorage: Main class implementing hybrid storage functionality. StoragePolicy: Enumeration of possible storage policies. (imported from base.py)
- Functions:
None (all functionality is encapsulated in classes)
- Types:
None
- Exceptions:
StorageError: Raised when storage operations fail
- Key Features:
Hybrid storage combining hot and cold storage benefits
Automatic data synchronization between storage layers
Intelligent data retrieval strategy
Performance metrics for both storage layers
Storage optimization capabilities
Hot storage warm-up functionality
Thread-safe operations
Event emission system
Configurable storage policies
- class true_storage.storage.mixed.MixedStorage(storage_id='mixed_storage', max_size=100, expiration_time=300, storage_directory='cold_storage', compression_level=6, policy=StoragePolicy.STRICT)[source]
Bases:
BaseStorageManagerMixed storage implementation combining hot and cold storage.
- __init__(storage_id='mixed_storage', max_size=100, expiration_time=300, storage_directory='cold_storage', compression_level=6, policy=StoragePolicy.STRICT)[source]
- optimize_hot_storage()[source]
Optimize hot storage by removing least accessed items.
- Return type: