use aurora::{InMemoryStorage, Storage};
fn main() {
let mut storage = InMemoryStorage::<String, String>::create();
println!("1. Inserting data...");
storage.insert("user:1".to_string(), "Alice".to_string());
storage.insert("user:2".to_string(), "Bob".to_string());
storage.insert("user:3".to_string(), "Charlie".to_string());
println!("2. Reading data...");
if let Some(name) = storage.get(&"user:1".to_string()) {
println!(" Found user:1 = {}", name);
}
println!();
println!("3. Checking if key exists...");
println!(" user:2 exists? {}", storage.contains_key(&"user:2".to_string()));
println!(" user:99 exists? {}", storage.contains_key(&"user:99".to_string()));
println!();
println!("4. Getting all keys...");
let keys = storage.keys();
println!(" Total keys: {}", keys.len());
for key in keys {
println!(" - {}", key);
}
println!();
println!("5. Updating data...");
storage.insert("user:1".to_string(), "Alice Smith".to_string());
if let Some(name) = storage.get(&"user:1".to_string()) {
println!(" Updated user:1 = {}", name);
}
println!();
println!("6. Removing data...");
if let Some(removed) = storage.remove(&"user:2".to_string()) {
println!(" Removed: {}", removed);
}
println!(" Remaining entries: {}", storage.len());
println!();
println!("7. Clearing all data...");
storage.clear();
println!(" Storage is empty: {}", storage.is_empty());
}