new: Support for valkey, new kvrocks

pull/913/head
Raphaël Vinot 2024-04-29 17:09:22 +02:00
parent 30599ef48b
commit d324def48f
5 changed files with 488 additions and 425 deletions

428
cache/cache.conf vendored

File diff suppressed because it is too large Load Diff

6
cache/run_redis.sh vendored
View File

@ -3,4 +3,8 @@
set -e
set -x
../../redis/src/redis-server ./cache.conf
if [ -f ../../valkey/src/valkey-server ]; then
../../valkey/src/valkey-server ./cache.conf
else
../../redis/src/redis-server ./cache.conf
fi

View File

@ -311,6 +311,12 @@ max-bitmap-to-string-mb 16
# Default: no
redis-cursor-compatible yes
# Whether to enable the RESP3 protocol.
# NOTICE: RESP3 is still under development, don't enable it in production environment.
#
# Default: no
# resp3-enabled no
# Maximum nesting depth allowed when parsing and serializing
# JSON documents while using JSON commands like JSON.SET.
# Default: 1024
@ -530,6 +536,16 @@ compaction-checker-range 0-7
# rename-command KEYS ""
################################ MIGRATE #####################################
# Slot migration supports two ways:
# - redis-command: Migrate data by redis serialization protocol(RESP).
# - raw-key-value: Migrate the raw key value data of the storage engine directly.
# This way eliminates the overhead of converting to the redis
# command, reduces resource consumption, improves migration
# efficiency, and can implement a finer rate limit.
#
# Default: redis-command
migrate-type redis-command
# If the network bandwidth is completely consumed by the migration task,
# it will affect the availability of kvrocks. To avoid this situation,
# migrate-speed is adopted to limit the migrating speed.
@ -556,6 +572,18 @@ migrate-pipeline-size 16
# Default: 10000
migrate-sequence-gap 10000
# The raw-key-value migration way uses batch for migration. This option sets the batch size
# for each migration.
#
# Default: 16kb
migrate-batch-size-kb 16
# Rate limit for migration based on raw-key-value, representing the maximum number of data
# that can be migrated per second. 0 means no limit.
#
# Default: 16M
migrate-batch-rate-limit-mb 16
################################ ROCKSDB #####################################
# Specify the capacity of column family block cache. A larger block cache
@ -563,6 +591,17 @@ migrate-sequence-gap 10000
# Default: 4096MB
rocksdb.block_cache_size 4096
# Specify the type of cache used in the block cache.
# Accept value: "lru", "hcc"
# "lru" stands for the cache with the LRU(Least Recently Used) replacement policy.
#
# "hcc" stands for the Hyper Clock Cache, a lock-free cache alternative
# that offers much improved CPU efficiency vs. LRU cache under high parallel
# load or high contention.
#
# default lru
rocksdb.block_cache_type lru
# A global cache for table-level rows in RocksDB. If almost always point
# lookups, enlarging row cache may improve read performance. Otherwise,
# if we enlarge this value, we can lessen metadata/subkey block cache size.
@ -683,8 +722,7 @@ rocksdb.block_size 16384
# Default: yes
rocksdb.cache_index_and_filter_blocks yes
# Specify the compression to use. Only compress level greater
# than 2 to improve performance.
# Specify the compression to use.
# Accept value: "no", "snappy", "lz4", "zstd", "zlib"
# default snappy
rocksdb.compression snappy
@ -820,7 +858,7 @@ rocksdb.read_options.async_io no
# buffer cache before the write is considered complete.
# If this flag is enabled, writes will be slower.
# If this flag is disabled, and the machine crashes, some recent
# rites may be lost. Note that if it is just the process that
# writes may be lost. Note that if it is just the process that
# crashes (i.e., the machine does not reboot), no writes will be
# lost even if sync==false.
#
@ -829,6 +867,7 @@ rocksdb.write_options.sync no
# If yes, writes will not first go to the write ahead log,
# and the write may get lost after a crash.
# You must keep wal enabled if you use replication.
#
# Default: no
rocksdb.write_options.disable_wal no

File diff suppressed because it is too large Load Diff

View File

@ -3,4 +3,8 @@
set -e
set -x
../../redis/src/redis-server ./indexing.conf
if [ -f ../../valkey/src/valkey-server ]; then
../../valkey/src/valkey-server ./indexing.conf
else
../../redis/src/redis-server ./indexing.conf
fi