Например, загрузка кэша небольшими фрагментами на один и тот же ключ с использованием Infinispan в Scala. Как я могу это сделать? Мой кеш представляет собой байтовый файл, и вот как я разделяю байты:
Код: Выделить всё
def splitArray(data: Array[Byte], chunkSize: Int): Seq[Array[Byte]] = {
val numOfChunks = (data.length + chunkSize - 1) / chunkSize
(0 until numOfChunks).map { i =>
data.slice(i * chunkSize, Math.min(data.length, (i + 1) * chunkSize))
}
}
Вот как выглядит моя функция:
Код: Выделить всё
def cacheBytes(): Future[CacheResult] = {
if (objStorage)
cache.putForExternalRead(key, pack.copy(source = Source.Cache))
else
cache.putForExternalRead(key, pack.toByteArray)
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... ll-at-once