Large values
Transferring a 500MB file
Transferring a 500MB file with kotlin-redis
(LargeValueStreamingTest)
and with Jedis 8.0.1
(JedisLargeValueTest).
Median of 3 runs on an Apple M5 Pro, Redis redis:8-alpine in a local Docker container. The times include
reading the value from a file on disk (upload) and writing it to a file (download).
| Approach | Library | Upload | Download | Note |
|---|---|---|---|---|
SET / GET of the whole value |
kotlin-redis | 2256 ms | 185 ms | |
| Jedis | 2370 ms | 304 ms | Requires 1GB heap | |
SETRANGE / GETRANGE in 16KB chunks |
kotlin-redis | 7620 ms | 4537 ms | |
| Jedis | 7286 ms | 4528 ms |
- Whole file: kotlin-redis is slightly faster for upload and about 40% faster for download.
- 16KB chunks: both libraries perform about the same.