diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef91b57 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# Build artifacts +*.o +src/predixy + +# IDE and editor files +.vscode/ +.idea/ +*.swp +*~ + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db \ No newline at end of file diff --git a/conf/predixy_local.conf b/conf/predixy_local.conf new file mode 100644 index 0000000..ab444f2 --- /dev/null +++ b/conf/predixy_local.conf @@ -0,0 +1,104 @@ +################################### GENERAL #################################### +## Predixy configuration file example + +## Specify a name for this predixy service +## redis command INFO can get this +Name PredixyLocalRedis + +## Specify listen address, support IPV4, IPV6, Unix socket +## Using a different port than Redis to avoid conflicts +Bind 127.0.0.1:7617 + +## Worker threads +WorkerThreads 1 + +## Memory limit, 0 means unlimited +MaxMemory 0 + +## Close the connection after a client is idle for N seconds (0 to disable) +## ClientTimeout can change online by CONFIG SET ClientTimeout N +## Default is 0 +ClientTimeout 300 + +## IO buffer size +## Default is 4096 +BufSize 4096 + +################################### LOG ######################################## +## Log file path +## Unspecify will log to stdout +## Default is Unspecified +# Log ./predixy.log + +## LogRotate support + +## 1d rotate log every day +## nh rotate log every n hours 1 <= n <= 24 +## nm rotate log every n minutes 1 <= n <= 1440 +## nG rotate log evenry nG bytes +## nM rotate log evenry nM bytes +## time rotate and size rotate can combine eg 1h 2G, means 1h or 2G roate a time + +## Examples: +# LogRotate 1d 2G +# LogRotate 1d + +## Default is disable LogRotate + +## In multi-threads, worker thread log need lock, +## AllowMissLog can reduce lock time for improve performance +## AllowMissLog can change online by CONFIG SET AllowMissLog true|false +## Default is true +# AllowMissLog false + +## LogLevelSample, output a log every N +## all level sample can change online by CONFIG SET LogXXXSample N +LogVerbSample 0 +LogDebugSample 0 +LogInfoSample 10000 +LogNoticeSample 1 +LogWarnSample 1 +LogErrorSample 1 + +################################### AUTHORITY ################################## +## Simple auth config for local development +Authority { + Auth { + Mode write + } +} + +################################### SERVERS #################################### +## Standalone Redis configuration +StandaloneServerPool { + Databases 16 + Hash crc16 + HashTag "{}" + Distribution modula + MasterReadPriority 60 + StaticSlaveReadPriority 50 + DynamicSlaveReadPriority 50 + RefreshMethod fixed + ServerTimeout 1 + ServerFailureLimit 10 + ServerRetryTimeout 1 + KeepAlive 120 + Group local { + + 127.0.0.1:6379 + } +} + +################################### DATACENTER ################################# +## LocalDC specify current machine dc +# LocalDC bj + +## see dc.conf +# Include dc.conf + +################################### COMMAND #################################### +## Custom command define, see command.conf +#Include command.conf + +################################### LATENCY #################################### +## Latency monitor define, see latency.conf +Include latency.conf diff --git a/conf/predixy_test.conf b/conf/predixy_test.conf new file mode 100644 index 0000000..ab444f2 --- /dev/null +++ b/conf/predixy_test.conf @@ -0,0 +1,104 @@ +################################### GENERAL #################################### +## Predixy configuration file example + +## Specify a name for this predixy service +## redis command INFO can get this +Name PredixyLocalRedis + +## Specify listen address, support IPV4, IPV6, Unix socket +## Using a different port than Redis to avoid conflicts +Bind 127.0.0.1:7617 + +## Worker threads +WorkerThreads 1 + +## Memory limit, 0 means unlimited +MaxMemory 0 + +## Close the connection after a client is idle for N seconds (0 to disable) +## ClientTimeout can change online by CONFIG SET ClientTimeout N +## Default is 0 +ClientTimeout 300 + +## IO buffer size +## Default is 4096 +BufSize 4096 + +################################### LOG ######################################## +## Log file path +## Unspecify will log to stdout +## Default is Unspecified +# Log ./predixy.log + +## LogRotate support + +## 1d rotate log every day +## nh rotate log every n hours 1 <= n <= 24 +## nm rotate log every n minutes 1 <= n <= 1440 +## nG rotate log evenry nG bytes +## nM rotate log evenry nM bytes +## time rotate and size rotate can combine eg 1h 2G, means 1h or 2G roate a time + +## Examples: +# LogRotate 1d 2G +# LogRotate 1d + +## Default is disable LogRotate + +## In multi-threads, worker thread log need lock, +## AllowMissLog can reduce lock time for improve performance +## AllowMissLog can change online by CONFIG SET AllowMissLog true|false +## Default is true +# AllowMissLog false + +## LogLevelSample, output a log every N +## all level sample can change online by CONFIG SET LogXXXSample N +LogVerbSample 0 +LogDebugSample 0 +LogInfoSample 10000 +LogNoticeSample 1 +LogWarnSample 1 +LogErrorSample 1 + +################################### AUTHORITY ################################## +## Simple auth config for local development +Authority { + Auth { + Mode write + } +} + +################################### SERVERS #################################### +## Standalone Redis configuration +StandaloneServerPool { + Databases 16 + Hash crc16 + HashTag "{}" + Distribution modula + MasterReadPriority 60 + StaticSlaveReadPriority 50 + DynamicSlaveReadPriority 50 + RefreshMethod fixed + ServerTimeout 1 + ServerFailureLimit 10 + ServerRetryTimeout 1 + KeepAlive 120 + Group local { + + 127.0.0.1:6379 + } +} + +################################### DATACENTER ################################# +## LocalDC specify current machine dc +# LocalDC bj + +## see dc.conf +# Include dc.conf + +################################### COMMAND #################################### +## Custom command define, see command.conf +#Include command.conf + +################################### LATENCY #################################### +## Latency monitor define, see latency.conf +Include latency.conf