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 5 data types:
- string
- hash
- list
- set
- zset
Details refer to https://github.com/segment11/velo/blob/main/doc/redis_command_support.md
Prepare the environment:
- JDK 21
- Gradle 8.x
git clone https://github.com/segment11/velo.git
cd velo
gradle jar
Change build/libs/velo.properties:
slotNumber=1
netWorkers=1
dir=/tmp/velo-data
net.listenAddresses=127.0.0.1:7379
estimateKeyNumber=10000000
estimateOneValueLength=200
kv.lru.maxSize=1000000
cd build/libs
java -Xmx1g -Xms1g -XX:+UseZGC -XX:+ZGenerational -XX:MaxDirectMemorySize=64m -jar velo-1.0.0.jar
redis-cli -p 7379
get key
set key value
redis-benchmark -p 7379 -c 1 -t set -d 200 -n 10000000 -r 10000000
Details 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: