Expand description
Persistent key-value storage with advanced data structures.
The key-value module provides a persistent storage interface with support for:
- Simple key-value pairs
- Pattern-based scanning with glob-style patterns
- Sorted sets with score-based range queries
- Bloom filters for probabilistic set membership testing
§Storage Model
Data is organized into named stores. Applications must be granted access to specific stores via platform configuration.
§Examples
§Basic Operations
use fastedge::key_value::Store;
// Open a store
let store = Store::open("user-data")?;
// Get a value
if let Some(data) = store.get("user:123:profile")? {
let profile = String::from_utf8_lossy(&data);
println!("Profile: {}", profile);
}§Pattern Scanning
use fastedge::key_value::Store;
let store = Store::open("user-data")?;
// Find all keys matching a pattern
let user_keys = store.scan("user:123:*")?;
for key in user_keys {
println!("Found key: {}", key);
}§Sorted Sets (Leaderboards)
use fastedge::key_value::Store;
let store = Store::open("game-data")?;
// Get top players by score (score between 1000 and infinity)
let top_players = store.zrange_by_score("leaderboard", 1000.0, f64::INFINITY)?;
for (player_id, score) in top_players {
println!("Player: {:?}, Score: {}", player_id, score);
}§Bloom Filters
use fastedge::key_value::Store;
let store = Store::open("cache")?;
// Check if an item is in a bloom filter
if store.bf_exists("seen_urls", "https://example.com")? {
println!("URL was probably seen before");
}Structs§
- Store
- FastEdge key-value persistent store resource
Enums§
- Error
- The set of errors which may be raised by functions in this interface