У меня есть доступ к db, который я хотел бы кэшировать в своем приложении akka/spray. Db возвращает Future [Option [X]].спрей-кеш: кеш только тогда, когда нет Нет
Я установил lruCache и завернул его в araound my db-access.
То, что я хотел бы достичь, заключается в том, чтобы кешировать только опцию, если она некоторая (X), а не, если она отсутствует. В последнем случае данные должны быть снова извлечены из db.
Alternativly я мог не будущее, если это поможет ...
До сих пор я удалить вариант из кэша снова через карту и восстановить, если он не является None или будущее не удалось:
cache(key) {
server.one[X](...)
}.map {
case Some(x) => Some(x)
case None => {
cache.remove(key)
None
}
}.recover {
case x => userCache.remove(key)
}
Но это очень некрасиво, не говоря уже о побочных эффектах на карте, и т.д. ...
Спасибо заранее,
Jens
Большое спасибо. Не видели эту информацию в документах ... – jens
Помогите им, отправив PR в свою документацию, уточнив это? :) –