!!! Note that ROR does not support Trocks-specific commands.

June 6, 2025 · View on GitHub

  1. trocks secondary development command

    CommandDesc
    hsetexhset with expire
    hmsetexhmset with expire
  2. Sortedint Commands(ROR recommends using redis’ set commands, such as scard, sadd...)

    CommandDesc
    sicardlike scard
    siaddlike sadd, but member is int
    siremlike srem, but member is int
    sirangesirange key offset count cursor since_id
    sirevrangesirevrange key offset count cursor max_id
  3. LOCK Commands (ROR recommends using multi transactions instead)

    CommandDesc
    getllock key, act is similar with "get"
    setflrelease key, act is similar with "set"
    abortflrelease key, quit transaction anyway
    setflexrelease key. act is similar with "setex"
    showlmonitor lock actions
    freelrelease key, quit transaction by condition
    hgetllock key, act is similar with "hget"
    hsetflrelease key, act is similar with "hset"
    hsetflexrelease key, act is similar with "hsetex"
    hmgetllock key, act is similar with "hmget"
    hmsetflrelease key, act is similar with "hmset"
    hmsetflexrelease key, act is similar with "hmsetex"
  4. Commands supported by ROR

    1. Redis native commands

      CommandTypeWhether to supportSupported versionRemark
      getstring1.0.0
      getexstring1.0.0
      getdelstring1.0.0
      setstring1.0.0
      setnxstring1.0.0
      setexstring1.0.0
      psetexstring1.0.0
      appendstring1.0.0
      strlenstring1.0.0
      delstring1.0.0
      unlinkstring1.0.0
      existsstring1.0.0
      setbitstring1.0.0
      getbitstring1.0.0
      bitfieldstring1.0.0
      bitfield_rostring1.0.0
      setrangestring1.0.0
      getrangestring1.0.0
      substrstring1.0.0
      incrstring1.0.0
      decrstring1.0.0
      mgetstring1.0.0
      incrbystring1.0.0
      decrbystring1.0.0
      incrbyfloatstring1.0.0
      getsetstring1.0.0
      msetstring1.0.0
      msetnxstring1.0.0
      pfselfteststring1.0.0
      pfaddstring1.0.0
      pfcountstring1.0.0
      pfmergestring1.0.0
      pfdebugstring1.0.0
      stralgostring1.0.0
      bitopstring1.0.0
      bitcountstring1.0.0
      bitposstring1.0.0
      rpushlist1.0.0
      lpushlist1.0.0
      rpushxlist1.0.0
      lpushxlist1.0.0
      linsertlist1.0.0
      rpoplist1.0.0
      lpoplist1.0.0
      brpoplist1.0.0
      brpoplpushlist1.0.3
      blmovelist1.0.3
      blpoplist1.0.0
      llenlist1.0.0
      lindexlist1.0.0
      lsetlist1.0.0
      lrangelist1.0.0
      ltrimlist1.0.0
      lposlist1.0.0
      lremlist1.0.0
      rpoplpushlist1.0.0
      lmovelist1.0.0
      saddset1.0.0
      sremset1.0.0
      smoveset1.0.0
      sismemberset1.0.0
      smismemberset1.0.0
      scardset1.0.0
      spopset1.0.0
      srandmemberset1.0.0
      sinterset1.0.0
      sinterstoreset1.0.0
      sunionset1.0.0
      sunionstoreset1.0.0
      sdiffset1.0.0
      sdiffstoreset1.0.0
      smembersset1.0.0
      sscanset1.0.0
      zaddzset1.0.0
      zincrbyzset1.0.0
      zremzset1.0.0
      zremrangebyscorezset1.0.0
      zremrangebyrankzset1.0.0
      zremrangebylexzset1.0.0
      zunionstorezset1.0.0
      zinterstorezset1.0.0
      zdiffstorezset1.0.0
      zunionzset1.0.0
      zinterzset1.0.0
      zdiffzset1.0.0
      zrangezset1.0.0
      zrangestorezset1.0.0
      zrangebyscorezset1.0.0
      zrevrangebyscorezset1.0.0
      zrangebylexzset1.0.0
      zrevrangebylexzset1.0.0
      zcountzset1.0.0
      zlexcountzset1.0.0
      zrevrangezset1.0.0
      zcardzset1.0.0
      zscorezset1.0.0
      zmscorezset1.0.0
      zrankzset1.0.0
      zrevrankzset1.0.0
      zscanzset1.0.0
      zpopminzset1.0.0
      zpopmaxzset1.0.0
      bzpopminzset1.0.0
      bzpopmaxzset1.0.0
      zrandmemberzset1.0.0
      hsethash1.0.0
      hsetnxhash1.0.0
      hgethash1.0.0
      hmsethash1.0.0
      hmgethash1.0.0
      hincrbyhash1.0.0
      hincrbyfloathash1.0.0
      hdelhash1.0.0
      hlenhash1.0.0
      hstrlenhash1.0.0
      hkeyshash1.0.0
      hvalshash1.0.0
      hgetallhash1.0.0
      hexistshash1.0.0
      hrandfieldhash1.0.0
      hscanhash1.0.0
      dbsizekeyspace1.0.0
      randomkeykeyspace1.0.0
      expirekeyspace1.0.0
      expireatkeyspace1.0.0
      pexpirekeyspace1.0.0
      pexpireatkeyspace1.0.0
      ttlkeyspace1.0.0
      touchkeyspace1.0.0
      pttlkeyspace1.0.0
      persistkeyspace1.0.0
      typekeyspace1.0.0
      scankeyspace√*1.0.0The cursor must start from 0, and the next cursor must be the cursor returned by ROR last time (arbitrary starting of the cursor is not supported). In other words, if the client disconnects and reconnects, the cursor must start from 0 again.
      dumpkeyspace1.0.0
      objectkeyspace1.0.0
      flushdbkeyspace1.0.0
      flushallkeyspace1.0.0
      selectkeyspace√*1.0.0Select in eval is not supported (but select in multi/exec is supported)
      movekeyspace1.0.0
      copykeyspace1.0.0
      renamekeyspace1.0.0
      renamenxkeyspace1.0.0
      keyskeyspace×
      swapdbkeyspace×
      authserver1.0.0
      pingserver1.0.0
      echoserver1.0.0
      saveserver1.0.0
      bgsaveserver1.0.0
      refullsyncserver1.0.0
      bgrewriteaofserver1.0.0
      shutdownserver1.0.0
      lastsaveserver1.0.0
      multitransaction1.0.0
      exectransaction1.0.0
      discardtransaction1.0.0
      watchtransaction√*1.0.0The impact of the flushdb command on watch Redis and ROR behave differently:
      * Redis: If the key to be watched does not exist in the db, flushdb will not cause subsequent exec to terminate.
      * ROR: Even if the watched key does not exist in the db, flushdb will cause subsequent exec to fail.
      The main reason is: ror does not contain the full amount of keys, flushdb cannot determine whether the watched key does not exist, and handles it according to the existence of the key, terminating the current transaction with the watch key.
      unwatchtransaction1.0.0
      evaltransaction1.0.0
      evalshatransaction1.0.0
      subscribepubsub1.0.0
      unsubscribepubsub1.0.0
      psubscribepubsub1.0.0
      punsubscribepubsub1.0.0
      publishpubsub1.0.0
      pubsubpubsub1.0.0
      clustercluster1.0.0
      restorecluster1.0.0
      restore-askingcluster1.0.0
      migratecluster1.0.0
      askingcluster1.0.0
      readonlycluster1.0.0
      readwritecluster1.0.0
      geoaddgeo1.0.0
      georadiusgeo1.0.0
      georadius_rogeo1.0.0
      georadiusbymembergeo1.0.0
      georadiusbymember_rogeo1.0.0
      geohashgeo1.0.0
      geoposgeo1.0.0
      geodistgeo1.0.0
      geosearchgeo1.0.0
      geosearchstoregeo1.0.0
      xaddstream1.0.0
      xrangestream1.0.0
      xrevrangestream1.0.0
      xlenstream1.0.0
      xreadstream1.0.0
      xreadgroupstream1.0.0
      xgroupstream1.0.0
      xsetidstream1.0.0
      xackstream1.0.0
      xpendingstream1.0.0
      xclaimstream1.0.0
      xautoclaimstream1.0.0
      xinfostream1.0.0
      xdelstream1.0.0
      xtrimstream1.0.0
      waitserver1.0.0
      commandserver1.0.0
      latencyserver1.0.0
      aclserver1.0.0
      resetserver1.0.0
      failoverserver1.0.0
      syncserver1.0.0
      psyncserver1.0.0
      replconfserver1.0.0
      sortserver1.0.0
      infoserver1.0.0
      monitorserver1.0.0
      slaveofserver1.0.0
      xslaveofserver1.0.0
      replicaofserver1.0.0
      roleserver1.0.0
      debugserver1.0.0
      configserver1.0.0
      clientserver1.0.0
      helloserver1.0.0
      slowlogserver1.0.0
      scriptserver1.0.0
      timeserver1.0.0
      memoryserver1.0.0
    2. SWAP Related commands

      CommandSupported versionGrammerDescriptionRemark
      swap1.0.11) SWAP [<arg> [value] [opt] ...]. Subcommands are:
      2) OBJECT
      3) Show info about key and assosiated value.
      4) ENCODE-META-KEY
      5) Encode meta key.
      6) DECODE-META-KEY
      7) Decode meta key.
      8) ENCODE-DATA-KEY
      9) Encode data key.
      10) DECODE-DATA-KEY
      11) Decode data key.
      12) RIO-GET meta|data <rawkey> <rawkey> ...
      13) Get raw value from rocksdb.
      14) RIO-SCAN meta|data <prefix>
      15) Scan rocksdb with prefix.
      16) RIO-ERROR <count>
      17) Make next count rio return error.
      18) RESET-STATS
      19) Reset swap stats.
      20) COMPACT
      21) COMPACT rocksdb
      22) ROCKSDB-PROPERTY-INT [<cfname,cfname...>]
      23) Get rocksdb property value (int type)
      24) ROCKSDB-PROPERTY-VALUE [<cfname,cfname...>]
      25) Get rocksdb property value (string type)
      26) HELP
      27) Prints this help.
      Display information about keys and associated valuesswap function auxiliary command
      swap.evict1.0.1swap.evict key1 key2 ...Internal command that can be used to manually remove keys
      swap.slowlog1.0.11) SWAP.SLOWLOG [<arg> [value] [opt] ...]. Subcommands are:
      2) GET [<count>]
      3) Return top <count> entries from the slowlog (default: 10). Entries are
      4) made of:
      5) id, timestamp, time in microseconds, swap cnt, swap time in microseconds, arguments array,
      6) client IP and port, client nasme,
      7) swap debug traces(need open swap-debug-trace-latency before).
      8) HELP
      9) Prints this help.
      slowlog displays additional swap-related trace information
      swap.expired1.0.1~Internal commandManual call has no effect
      swap.scanexpire1.0.1~Internal commandManual call has no effect
      swap.mutexop1.0.1~Internal commandManual call has no effect
    3. GTID Related commands

      CommandSupported versionGrammerDescriptionRemark
      gtid1.0.0~Internal command
      gtidx1.0.51) GTIDX [<arg> [value] [opt] ...]. Subcommands are:
      2) LIST [<uuid>]
      3) List gtid or uuid(if specified) gaps.
      4) STAT [<uuid>]
      5) Show gtid or uuid(if specified) stat.
      6) REMOVE <uuid>
      7) Return uuid.
      8) HELP
      9) Prints this help.
      gtidx function auxiliary command
  5. ROR Supported Configurations

    1. Redis Native Configuration ROR inherits all the native configurations of Redis, and only a few configuration semantics have changed. The specific list is as follows:

      FeaturesredisROR production default (domestic)ROR production default (overseas)ror
      maxmemoryThe maximum amount of memory (i.e. the maximum capacity of keyspace)2.5G2.2G total memory:
      256MB rocksdb writebuffer (max_write_buffer_num * write_buffer_size *3 (CF can consider setting different write_buffer*)) + blockcache
      maxmemory: 2G setting
      The maximum amount of memory, but the maximum capacity of the keyspace can exceed maxmemory (the excess is persisted to SSD). The maximum keyspace capacity of ROR is specified by swap-max-db-size.
      sanitize-dump-payloadyes/no/clientnonoror loads directly from rdb to rocksdb, skipping deep inspection.
    2. swap Related Configuration

      Option nameROR versionValue rangeDefault valueROR production default (domestic)ROR production default (overseas)Can it be modified dynamicallytrocks option nametrocks domestictrocks overseasDescription
      swap-threads1.0.14~64444Noworkers44The number of swap threads.
      swap-max-db-size1.0.10~LLONG_MAX040G24GYesmax-db-size40(G)40(G)Maximum disk usage.
      swap-inprogress-memory-slowdown1.0.10~LLONG_MAX256mb256mb256mbYes~~~When the memory occupied by the key and value being swapped exceeds swap-memory-slowdown, then ror Client write speed will begin to be throttled.
      swap-inprogress-memory-stop1.0.10~LLONG_MAX512mb512mb512mbYes~~~When the memory occupied by the key and value being swapped exceeds swap-memory-slowdown, then ror Will start limiting client write speeds while pausing ejection of hot keys to disk.
      swap-maxmmeory-oom-percentage1.0.1100~INT_MAX200200200Yes~~~When the current used_memory of redis far exceeds maxmemory, ror will reject all write commands.
      swap-evict-step-max-subkeys1.0.10~LLONG_MAX102410241024Yes~~~The maximum number of subkeys for a single evict (hot or cold) of a single key.
      swap-evict-step-max-memory1.0.10~LLONG_MAX1mb1mb1mbYes~~~The maximum memory for a single evict (hot or cold) of a single key.
      swap-repl-max-rocksdb-read-bps1.0.10~LLONG_MAX0100mb100mbYesmax-replication-mb100100When saving RDB in full copy, bgsave, etc. The maximum rate at which disk files can be read (i.e. the maximum rate at which iterates rocksdb data).
      swap-rocksdb-stats-collect-interval-ms1.0.11~INT_MAX200020002000Yes~~~The interval for updating rocksdb stats cache.
      swap-evict-inprogress-limit1.0.14~INT_MAX646464Yes~~~The hard limit of the maximum concurrency of evict (hot and cold). The maximum concurrency of evict (hot and cold) is positively related to used_memory-maxmemory. The more memory exceeds the limit, the higher the concurrency of evict, but the concurrency of evict will not exceed swap-evict-inprogress-limit.
      swap-evict-inprogress-growth-rate1.0.11~INT_MAX10mb10mb10mbYes~~~evict (hot and cold) concurrency growth rate, min (used_memory-maxmemory / swap-evict-inprogress-growth-rate, swap-evict-inprogress-limit) is the current evict concurrency limit
      swap-debug-trace-latency1.0.1yes,nonononoyes~~~Whether to enable the time statistics function of each stage of swap.
      swap-debug-evict-keys1.0.1-1~INT_MAX000Yes~~~The maximum number of evict (hot and cold) keys after the command ends, -1 means evict All hot keys.
      swap-debug-rio-delay-micro1.0.1-1~INT_MAX000Yes~~~The time (microseconds) for each RIO sleep.
      swap-debug-swapout-notify-delay-micro1.0.1-1~INT_MAX000Yes~~~The delay time (microseconds) for each notify.
      swap-debug-before-exec-swap-delay-micro1.0.10~INT_MAX000Yes~~~The delay in microseconds before exec.
      swap-debug-init-rocksdb-delay-micro1.0.10~INT_MAX000Yes~~~Open rocksdb delay time in microseconds.
      swap-perflog-sample-ratio1.0.40~100000yesprofiling-sample-ratio00perflog sampling rate
      swap-perflog-max-len1.0.40~LONG_MAX128128128Yesprofiling-sample-record-max-len256256The maximum number of perflog records
      swap-perflog-log-slower-than-us1.0.40~LONG_MAX100001000010000Yesprofiling-sample-record-threshold-ms100100The threshold for perflog to retain samples, default When the swap operation takes more than 10ms, it will be recorded in perlog
      rocksdb.data.compression1.0.3no, snappy, zlib,optimized_for_compactionsnappysnappysnappyyesrocksdb.compressionsnappysnappyWhether rocksdb enables compression feature.
      rocksdb.meta.compression1.0.3no, snappy, zlib,optimized_for_compactionsnappy~~yes~~~
      rocksdb.meta.block_cache_size1.0.10~ULLONG_MAX512mb512mb?Norocksdb.metadata_block_cache_size128128meta CF blockcache capacity
      rocksdb.data.block_cache_size1.0.10~ULLONG_MAX8mb8mb8mb(x2)Norocksdb.subkey_block_cache_size128128data CF blockcache capacity
      rocksdb.max_open_files1.0.1-1~INT_MAX-1-1-1Norocksdb.max_open_files20482048rocksdb max_open_files parameter value
      rocksdb.data.write_buffer_size1.0.30~ULLONG_MAX64mb64mb?(x3)Yesrocksdb.write_buffer_size128 (actual 64)16 (actual 64)rocksdb write_buffer_size parameter value
      rocksdb.meta.write_buffer_size1.0.30~ULLONG_MAX64mb~~Yes~~~rocksdb write_buffer_size parameter value
      rocksdb.data.target_file_size_base1.0.30~ULLONG_MAX32mb32mb?Yesrocksdb.target_file_size_base12816 (actual 128)rocksdb target_file_size_base parameter value
      rocksdb.meta.target_file_size_base1.0.30~ULLONG_MAX32mb~~Yes~~~rocksdb target_file_size_base parameter value
      rocksdb.data.max_write_buffer_number1.0.31~256334Yesrocksdb.max_write_buffer_number44rocksdb max_write_buffer_number parameter value
      rocksdb.meta.max_write_buffer_number1.0.31~2563~~Yes~~~rocksdb max_write_buffer_number parameter value
      rocksdb.max_background_compactions1.0.11~64444Norocksdb.max_background_compactions44rocksdb max_background_compactions parameter value
      rocksdb.max_background_flushes1.0.1-1~64-1-1-1Norocksdb.max_background_flushes44rocksdb max_background_flushes parameter value
      rocksdb.max_subcompactions1.0.11~64111Norocksdb.max_sub_compactions44rocksdb max_subcompactions parameter value
      rocksdb.data.block_size1.0.3512~INT_MAX819281928192Norocksdb.block_size40964096rocksdb block_size parameter value
      rocksdb.meta.block_size1.0.3512~INT_MAX8192~~No~~~rocksdb block_size parameter value
      rocksdb.cache_index_and_filter_blocks1.0.3yesnononononorocksdb.cache_index_and_filter_blocksnono
      rocksdb.meta.cache_index_and_filter_blocks1.0.3yesnono~~no~~~
      rocksdb.enable_pipelined_write1.0.1yes|nonononoNorocksdb.enable_pipelined_writenonoWhether to enable the pipelined write function of RocksDB.
      rocksdb.data.level0_slowdown_writes_trigger1.0.31~INT_MAX202020Yesrocksdb.level0_slowdown_writes_trigger2424Threshold to trigger Level 0 write slowdown.
      rocksdb.meta.level0_slowdown_writes_trigger1.0.31~INT_MAX20~~Yes~~~Threshold to trigger Level 0 write slowdown.
      rocksdb.data.disable_auto_compactions1.0.3yes|nonononoYesrocksdb.disable_auto_compactionsnonoWhether to disable automatic compaction.
      rocksdb.meta.disable_auto_compactions1.0.3yes|nono~~Yesrocksdb.disable_auto_compactionsnonoWhether to disable automatic compaction.
      rocksdb.ratelimiter.rate_per_sec1.0.30~ULLONG_MAX512mb~~Norocksdb.ratelimiter.rate_per_secnonoMaximum IO rate for compaction and flushing. If set, the delayed write rate (maximum DB write rate after slowing down) will be set to the same value.
      rocksdb.bytes_per_sync1.0.30~ULLONG_MAX1mb~~No~nonoPerform fsync every bytes_per_sync during SST file creation.
      rocksdb.data.max_bytes_for_level_base1.0.30~ULLONG_MAX256mb~~Yes~~~Maximum file size for Level 1.
      rocksdb.meta.max_bytes_for_level_base1.0.30~ULLONG_MAX256mb~~Yes~~~Maximum file size for Level 1.
      rocksdb.data.max_bytes_for_level_multiplier1.0.51~INT_MAX10~~Yes~~~Multiplier for the maximum file size for each level. Ln+1 = Ln * multiplier.
      rocksdb.meta.max_bytes_for_level_multiplier1.0.51~INT_MAX10~~Yes~~~Multiplier for the maximum file size for each level. Ln+1 = Ln * multiplier.
      rocksdb.data.compaction_dynamic_level_bytes1.0.5yes|nono~~No~~~Dynamic level capacity mode, dynamically calculate the maximum capacity of each level based on the data set size. Optimization space can be extended to 1.111111.
      rocksdb.meta.compaction_dynamic_level_bytes1.0.5yes|nono~~No~~~Dynamic level capacity mode, dynamically calculate the maximum capacity of each level based on the data set size. Optimization space can be extended to 1.111111.
      rocksdb.data.suggest_compact_deletion_percentage1.0.50~1000.95~~No~~~Mark SST files when RocksDB is idle if the percentage of deletion marks in the SST file is greater than this configuration and perform compaction. 0 disables this feature.
      rocksdb.meta.suggest_compact_deletion_percentage1.0.50~1000.95~~No~~~Mark SST files when RocksDB is idle if the percentage of deletion marks in the SST file is greater than this configuration and perform compaction. 0 disables this feature.
      rocksdb.data.periodic_compaction_seconds1.0.50~ULLONG_MAX86400~~Yes~~~Automatically perform compaction at certain intervals after the SST file is generated. This compaction does not push SST files to lower levels, it is only used for triggering
      swap-scan-session-bits1.0.51~167NoThe maximum number of scan sessions is (1<<swap-scan-session-bits)
      swap-scan-session-max-idle-seconds1.0.51~INT_MAX60Scan session maximum idle time (session exceeding this idle time can be used again)
      ctrip-monitor-port1.0.70~655356380Monitoring port
      swap-absent-cache-enabled1.0.7yesnoyesWhether to start absent cache. (Absent cache caches recently accessed non-existent keys in LRU mode, which is used to solve the delay problem of hotspot access to non-existent keys)
      swap-absent-cache-capacity1.0.71~LLONG_MAX65536The capacity of the absent cache, indicating the number of keys that can be cached.
      swap-batch-limit1.1.0"IN 16 1mb OUT 16 1mb DEL 16 1mb"batch size
      swap-cuckoo-filter-enabled1.1.0yesnoyescuckoo filter switch
      swap-cuckoo-filter-bit-per-key1.1.081216328The bits occupied by each key in cuckoo filter
      swap-cuckoo-filter-estimated-keys1.1.01~LLONG_MAX32000000Estimated number of keys
      swap-absent-cache-include-subkey1.1.0yes|noyesyes~~~~~absent cache includes subkey switch
      rocksdb.max_background_jobs1.1.0-1~644No~~~~~rocksdb maximum number of background jobs
      swap-ratelimit-maxmemory-percentage1.1.1100~INT_MAX200yes~-ratelimit-policydecision
      swap-ratelimit-policy1.1.1pause|reject_oom|reject_all|disabledpauseYes~~~~~ror's rate limiting behavior on the client, including 4 types: pause, reject_oom, reject_all, disabled
      swap-ratelimit-maxmemory-pause-growth-rate1.1.11~INT_MAX20mbYes~~~~~When ror uses the pause policy to limit the speed of the client, the speed limit time growth rate
      swap-compaction-filter-skip-level~-1~INT_MAX0Yes~~~~~The level skipped by compaction filter
      swap-compaction-filter-disable-until1.1.10~LLONG_MAX0Yes~~~~~Temporarily turn off compaction-filter until the specified timestamp, in unix timestamps (seconds level)
      swap-persist-enabled1.2.0yes|nonono~~~~~Turn on persistence function
      swap-ratelimit-persist-lag1.2.00~INT_MAX60Yes~~~~~Persistence delay rate limit threshold, after exceeding swap-ratelimit-persist-lag, it will be based on Selected swap-ratelimit-policy for rate limiting
      swap-ratelimit-persist-pause-growth-rate1.2.00~INT_MAX10is~~~~~lag per growth swap-ratelimit-persist-pause-growth-rate, The speed limit time is increased by 1ms.
      rocksdb.WAL_ttl_seconds1.2.00~INT_MAX18000No~~~~~rocksdb WAL maximum retention time
      rocksdb.WAL_size_limit_MB1.2.00~INT_MAX16384No~~~~~rocksdb WAL maximum reserved capacity
      rocksdb.max_total_wal_size1.2.00~ULONGLONG_MAX536870912No~~~~~When the wal capacity exceeds this value, the cf flush that depends on the wal is triggered.
      swap-debug-rdb-key-save-delay-micro1.2.0-1~INT_MAX0Yes~~~~~rdbsave cold key delay time
      rocksdb.data.suggest_compact_sliding_window_size1.2.10~ULONGLONG_MAX100000No~~rocksdb.suggest_compact_sliding_window_size~~suggest compaction trigger sliding window size
      rocksdb.meta.suggest_compact_sliding_window_size1.2.10~ULONGLONG_MAX100000No~~~~~suggest compaction trigger sliding window size
      rocksdb.data.suggest_compact_num_dels_trigger1.2.10~ULONGLONG_MAX80000No~~rocksdb.suggest_compact_num_dels_trigger~~The number of deletes in the sliding window that triggers suggestion compaction
      rocksdb.meta.suggest_compact_num_dels_trigger1.2.10~ULONGLONG_MAX80000No~~~~~The number of deletes in the sliding window that triggers suggestion compaction
      swap-flush-meta-deletes-percentage1.2.10~10040Yes~~~~~The delete proportion that triggers METACF memtable flush (swap-flush-meta-deletes-percentage && swap-flush-meta-deletes-num will trigger flush only when they exceed the threshold)
      swap-flush-meta-deletes-num1.2.11~LLONG_MAX200000Yes~~~~~The delete proportion that triggers METACF memtable flush (swap-flush-meta-deletes-percentage && swap-flush-meta-deletes-num will trigger flush only when they exceed the threshold)
      rocksdb.data.enable_blob_files1.2.3yes|nonoYes~~rocksdb.enable_blob_files~~Whether to enable blobdb
      rocksdb.meta.enable_blob_files1.2.3yes|nonoYes~~~~~Whether to enable blobdb
      rocksdb.data.enable_blob_garbage_collection1.2.3yes|nonoyes~~rocksdb.enable_blob_garbage_collection~~Whether to enable blobdb force GC
      rocksdb.meta.enable_blob_garbage_collection1.2.3yes|nonoyes~~~~~Whether to enable blobdb force GC
      rocksdb.data.blob_garbage_collection_age_cutoff_percentage1.2.30~1005Yes~~~~~blobdb forces GC selection range (by default, only the oldest 5% of blobs will be selected by GC )
  6. ROR INFO information

    1. Redis native INFO ROR inherits all native info indicators of Redis, and its meaning remains the same as Redis.

    2. SWAP Related INFO

      section version field description
      Cpu 1.1.0 swap_main_thread_cpu_usage ror main thread cpu usage
      1.1.0 swap_swap_threads_cpu_usage ror swap thread cpu usage
      1.1.0 swap_other_threads_cpu_usage ror other thread cpu usage
      Memory 1.0.1 swap_mem_rocksdb rocksdb amount of memory occupied
      1.0.1 swap_rectified_frag_ratio eliminate the memory fragmentation rate of rocksdb occupied memory
      1.0.1 swap_rectified_frag_bytes eliminate the amount of memory fragmentation occupied by rocksdb
      Keyspace 1.0.1 Keyspace:"db%d:keys=%lld,evicts=%lld,metas=%lld,expires=%lld,avg_ttl=%lld\r\n" evicts:number of cold keys metas:number of objectMeta

RoR configuration document

Redis native configuration

  1. ROR inherits all the native configurations of Redis, and only a few configuration semantics have changed. The specific list is as follows:

    Redis configuration for semantic changes
    Characteristics redis semantics ror production default (domestic) ror production default (overseas) ror semantics
    sanitize-dump-payload yes no client three options no no ror is loaded directly from rdb to rocksdb, skipping depth inspection.
    maxmemory Maximum amount of memory (i.e. maximum capacity of keyspace) 2.5G 2.2G total memory:
    256MB rocksdb
    writebuffer(max_write_buffer_num * write_buffer_size *3 (CF can consider setting different write_buffer*))+blockcache
    maxmemory: 2G settings
    The maximum amount of memory, but the maximum capacity of the keyspace can exceed maxmemory (the excess is persisted to SSD). The maximum keyspace capacity of ROR is specified by swap-max-db-size.
  2. SWAP related configuration

    Option name ROR version Value range Default value ROR production default (domestic) ROR production default (overseas) Can it be modified dynamically Description
    ctrip-monitor-port 1.0.7 0~65535 6380 No Monitoring port
    rocksdb.bytes_per_sync 1.0.3 0~ULLONG_MAX 1mb No During the creation of rocksdb SST files, fsync is executed every bytes_per_sync
    rocksdb.cache_index_and_filter_blocks 1.0.3 yes|no no no no No rocksdb cache_index_and_filter_blocks parameter value
    rocksdb.data.blob_file_size 1.2.3 0 ~ ULLONG_MAX 256mb Yes blobdb blob file size
    rocksdb.data.blob_garbage_collection_age_cutoff_percentage 1.2.3 0~100 5 Yes blobdb forces GC selection range (by default, only the oldest 5% of blobs will be selected by GC)
    rocksdb.data.blob_garbage_collection_force_threshold_percentage 1.2.3 0~100 90 Yes The threshold for blobdb to force GC (by default, only blobs with more than 90% garbage data will force GC)
    rocksdb.data.block_cache_size 1.0.1 0~ULLONG_MAX 8mb 8mb 8mb(x2) No data CF blockcache capacity