Storehaus异步键值存储
Storehaus 是一个能够让异步键值存储更加方便的开发工具。Storehaus 是基于 Twitter's Future 所建立的。
Storehaus 的核心模块定义了三个特征:只读 ReadableStore
,只写 WritableStore
和只写 Store
. 这三个特征都非常的小:
package com.twitter.storehaus import com.twitter.util.{ Closable, Future, Time } trait ReadableStore[-K, +V] extends Closeable { def get(k: K): Future[Option[V]] def multiGet[K1 <: K](ks: Set[K1]): Map[K1, Future[Option[V]]] override def close(time: Time) = Future.Unit } trait WritableStore[-K, -V] { def put(kv: (K, V)): Future[Unit] = multiPut(Map(kv)).apply(kv._1) def multiPut[K1 <: K](kvs: Map[K1, V]): Map[K1, Future[Unit]] = kvs.map { kv => (kv._1, put(kv)) } override def close(time: Time) = Future.Unit } trait Store[-K, V] extends ReadableStore[K, V] with WritableStore[K, Option[V]
评论