Releases: redisx-pro/RedisXSlot
Releases · redisx-pro/RedisXSlot
v0.1.0
Feature
- load module init hash slot size, default size 2^10, max size 2^16. (once make sure the slot size, don't change it)
- load module init activerehashing,databases from config, activerehashing used to sub server event to rehash slot keys dict
- load module init num_threads, if thread_num>0,init thread pool size to do migrate job, default donot use thread pool.
- sub ServerEvent
CronLoop(ServerLoop),FlushDB,Shutdown
- sub CronLoop server event hook to resize/rehash dict (db slot keys tables)
- sub FlushDB server event hook to delete one/all dict (db slot keys tables)
- sub Shutdown server event hook to release dicts (db slot keys tables) and free memory.
- sub KeyspaceEvents
STRING,LIST,HASH,SET,ZSET, LOADED; GENERIC, EXPIRED
- sub keyspaces
STRING,LIST,HASH,SET,ZSET, LOADED
notify event hook to add dict/skiplist keys - sub keyspaces
GENERIC, EXPIRED
notify event hook to delete dict/skiplist keys
- sub keyspaces
- support slot tag key migrate, for (smart client/proxy)'s configSrv admin contoller layer use it.
useSLOTSMGRTTAGSLOT
cmd to migrate slot's key with same tag,
default use slotsrestore batch send key, ttlms, dump rdb val ... (restore with replace) SLOTSRESTORE
if num_threads>0, init thread pool size to sendslotsrestore
batch keys job. loadmodule like this./redis/src/redis-server --port 6379 --loadmodule ./redisxslot.so 1024 4 --dbfilename dump.6379.rdb
- about migrate cmd, create a thread async block todo per client, splite batch migrate, don't or less block other cmd run. loadmodule like this
./redis/src/redis-server --port 6379 --loadmodule ./redisxslot.so 1024 4 async --dbfilename dump.6379.rdb
- support setcpuaffinity for migrate async thread like redis bio job thread config setcpuaffinity on linux/bsd(syntax of cpu list looks like taskset). loadmodule like this
./redis/src/redis-server --port 6379 --loadmodule ./redisxslot.so 1024 0 async 1,3 --dbfilename dump.6379.rdb
- about migrate cmd, support pipeline buffer migrate, use migrate cmd like this
SLOTSMGRTTAGSLOT 127.0.0.1 6379 30000 835 withpipeline
. usewithpipeline
current don't support thread pool and async block migrate.