Velo (pronunciation: /vɪloʊ/) is a redis protocol compatible, low latency, hash index based, slot sharding, multi-threading key value storage system.
Velo supports redis main data types:
- string
- hash
- list
- set
- zset
- bitmap
- hyperloglog
- bloomfilter
- geo
Details refer to https://github.com/segment11/velo/blob/main/doc/redis_command_support.md
- parquet file
- sst file
docker run -d --name velo -p 7379:7379 -v $(pwd)/velo-data:/var/lib/velo registry.cn-guangzhou.aliyuncs.com/montplex/velo:1.0.0Prepare the environment:
- JDK 21
- Gradle 8.x
git clone https://github.com/segment11/velo.git
cd velo
git submodule update --remote
gradle jarChange build/libs/velo.properties:
slotNumber=1
netWorkers=1
dir=/tmp/velo-data
net.listenAddresses=127.0.0.1:7379
estimateKeyNumber=10000000
kv.lru.maxSize=1000000cd build/libs
java -Xmx1g -Xms1g -XX:+UseZGC -XX:+ZGenerational -XX:MaxDirectMemorySize=64m -jar velo-1.0.0.jarredis-cli -p 7379
get key
set key valueredis-benchmark -p 7379 -c 1 -t set -d 200 -n 10000000 -r 10000000Details refer to https://github.com/segment11/velo/blob/main/doc/performance
If you are interested in contributing to Velo, please refer to CONTRIBUTING.md.
Velo is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Velo uses the following open source projects: