Releases: redisx-pro/RedisXSlot
Releases · redisx-pro/RedisXSlot
Release list
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, LOADEDnotify event hook to add dict/skiplist keys - sub keyspaces
GENERIC, EXPIREDnotify 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.
useSLOTSMGRTTAGSLOTcmd to migrate slot's key with same tag,
default use slotsrestore batch send key, ttlms, dump rdb val ... (restore with replace) SLOTSRESTOREif num_threads>0, init thread pool size to sendslotsrestorebatch 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. usewithpipelinecurrent don't support thread pool and async block migrate.