• Отсутствие информации по Scala Spray, что делать?

    @nik_OS Автор вопроса
    @anyd3v дико стыдно, но вы гений) я второй день обшаривал всю сеть, но тесты открыть не догадался, каюсь.
  • Отсутствие информации по Scala Spray, что делать?

    @nik_OS Автор вопроса
    @anyd3v черт, я все равно не понимаю =( допустим у меня есть функции берущие из БД некий резалтсет и возвращающие его в виде листов c json. что то типа public List getCar(),public List getHome() и т.д. как мне правильно организовать кеширование, чтобы данные в кэше например раз в час обновлялись, а предыдущие удалялись(только свежие данные в кеше)?
    вот так?
    def cachedOp[T](key: T): Future[List] = cache(key) {
    getCar();
    getHome();
    }
    ?
    прошу прощения что задаю возможно очень тупые вопросы но я очень хочу разобраться и понять по шагам как это работает. почему например создаётся массив фьючеров и так далее.
  • Отсутствие информации по Scala Spray, что делать?

    @nik_OS Автор вопроса
    наверное проблема в том что я пытаюсь построить систему в голове, но не понимаю как она работает(мб, мой английский недостаточно хорош) или не понимаю фьючеры. если можно то пожалуйста помогите мне с несколькими глупыми вопросами :
    1) чем отличаются вот эти три варианта
    def apply(key: Any)(expr: => V): Future[V]
    def apply(key: Any)(future: => Future[V]): Future[V]
    def apply(key: Any)(func: Promise[V] => Unit): Future[V]
    я не понял что за пуш-стиль и вообще что для чего и лучше использовать
    2) сам принцип работы кэша в спрее
    def cachedOp[T](key: T): Future[Double] = cache(key) {
    expensiveOp()
    } - вот я не уловил, это я один раз какие то данные закешировал или кэш будет как то по таймеру или еще как сам обновляться?
    3) наконец в чем реальные плюсы spray-caching и вообще всего spray(если у вас есть опыт работы с ним), а то приказ получен а чем именно спрей так хорошо я не понимат.
    4) какие подводные камни и хитрости работы с ним