Day 6: 総合プロジェクト - Mini Database
課題概要
6日間で学んだ全てを使って、シンプルなインメモリデータベースを実装します。
要件
基本機能
- データ格納: キーバリューストア
- スレッドセーフ: 複数スレッドからアクセス可能
- CRUD操作: Create, Read, Update, Delete
実装する構造体
pub struct MiniDB<K, V> {
// TODO: 適切なデータ構造を選択
// ヒント: Arc<Mutex<HashMap<K, V>>>
}
impl<K, V> MiniDB<K, V>
where
K: Eq + Hash + Clone,
V: Clone,
{
pub fn new() -> Self { /* TODO */ }
pub fn insert(&self, key: K, value: V) { /* TODO */ }
pub fn get(&self, key: &K) -> Option<V> { /* TODO */ }
pub fn remove(&self, key: &K) -> Option<V> { /* TODO */ }
pub fn update(&self, key: &K, value: V) -> bool { /* TODO */ }
}