Command Reference
This document provides a comprehensive list of all commands supported by SpinelDB, categorized by their functionality. SpinelDB aims for Redis compatibility while introducing powerful new commands, especially in the CACHE and JSON modules.
Dispatcher Commands
These commands act as dispatchers for various subcommands, often related to specific data types or functionalities.
CACHE.* Commands (Intelligent Caching Engine)
The CACHE command provides access to SpinelDB's advanced intelligent caching features.
CACHE.SET key value [TTL seconds] [SWR seconds] [GRACE seconds] [REVALIDATE-URL url] [ETAG etag] [LAST-MODIFIED date] [VARY header-name] [COMPRESSION] [FORCE-DISK] [HEADERS key value ...] [TAGS tag1 tag2 ...]CACHE.GET key [REVALIDATE url] [IF-NONE-MATCH etag] [IF-MODIFIED-SINCE date] [FORCE-REVALIDATE] [HEADERS key value ...]CACHE.PURGETAG tag1 [tag2 ...]CACHE.FETCH key url [TTL seconds] [SWR seconds] [GRACE seconds] [TAGS tag1 tag2 ...] [VARY header-name] [HEADERS key value ...]CACHE.STATSCACHE.PROXY key [url] [TTL seconds] [SWR seconds] [GRACE seconds] [TAGS tag1 tag2 ...] [VARY header-name] [HEADERS key value ...]CACHE.POLICY name [KEY-PATTERN pattern] [URL-TEMPLATE template] [TTL seconds] [SWR seconds] [GRACE seconds] [TAGS tag1 tag2 ...] [PREWARM] [DISALLOW-STATUS-CODES code1 code2 ...] [MAX-SIZE-BYTES size] [VARY-ON header1 header2 ...] [RESPECT-ORIGIN-HEADERS] [NEGATIVE-TTL seconds] [PRIORITY num] [COMPRESSION] [FORCE-DISK]CACHE.PURGE pattern1 [pattern2 ...]CACHE.LOCK key duration_secondsCACHE.UNLOCK keyCACHE.BYPASS key [duration_seconds]CACHE.INFOCACHE.SOFTPURGE pattern1 [pattern2 ...]CACHE.SOFTPURGETAG tag1 [tag2 ...]
CLUSTER.* Commands (Clustering)
The CLUSTER command provides access to SpinelDB's clustering features.
CLUSTER NODESCLUSTER SLOTSCLUSTER MYIDCLUSTER ADDSLOTS slot1 [slot2 ...]CLUSTER GETKEYSINSLOT slot countCLUSTER MEET ip portCLUSTER SETSLOT slot (MIGRATING node_id | IMPORTING node_id | NODE node_id | STABLE)CLUSTER REPLICATE master_idCLUSTER RESHARD source_node_id destination_node_id slot1 [slot2 ...]CLUSTER FORGET node_idCLUSTER FIX
JSON.* Commands (Native JSON Support)
The JSON command provides native support for JSON data types.
JSON.ARRAPPEND key path json_value1 [json_value2 ...]JSON.ARRINDEX key path json_value [start [end]]JSON.ARRINSERT key path index json_value1 [json_value2 ...]JSON.ARRLEN key [path]JSON.ARRPOP key [path [index]]JSON.ARRTRIM key path start stopJSON.CLEAR key [path]JSON.DEL key [path]JSON.GET key [path [path2 ...]]JSON.MERGE key path json_valueJSON.MGET key1 [key2 ...] pathJSON.NUMINCRBY key path valueJSON.NUMMULTBY key path valueJSON.OBJKEYS key [path]JSON.OBJLEN key [path]JSON.SET key path json_value [NX | XX]JSON.STRAPPEND key path json_stringJSON.STRLEN key [path]JSON.TOGGLE key pathJSON.TYPE key [path]
BF.* Commands (Bloom Filter)
The BF command provides access to SpinelDB's Bloom filter functionality.
BF.RESERVE key error_rate capacityBF.ADD key itemBF.MADD key item [item ...]BF.EXISTS key itemBF.MEXISTS key item [item ...]BF.INSERT key [CAPACITY capacity] [ERROR error_rate] ITEMS item [item ...]BF.INFO keyBF.CARD key
PF.* Commands (HyperLogLog)
The PF command provides access to SpinelDB's HyperLogLog functionality.
PFADD key element [element ...]PFCOUNT key [key ...]PFMERGE destkey sourcekey [sourcekey ...]
Standard Commands
These are the top-level commands, often compatible with Redis's standard commands.
Generic Commands
COMMANDCONFIG GET parameter | SET parameter value(e.g.,CONFIG GET max_clients)TYPE keyPUBSUB subcommand [argument ...]PING [message]ECHO messageAUTH password | username passwordSELECT indexQUITSHUTDOWN [NOSAVE | SAVE]DEL key1 [key2 ...]UNLINK key1 [key2 ...]FLUSHALL [ASYNC]FLUSHDB [ASYNC]EXPIRE key secondsEXPIREAT key timestampPEXPIRE key millisecondsPEXPIREAT key milliseconds-timestampTTL keyPTTL keyPERSIST keyKEYS patternDBSIZEPUBLISH channel messageSUBSCRIBE channel1 [channel2 ...]PSUBSCRIBE pattern1 [pattern2 ...]UNSUBSCRIBE [channel1 ...]PUNSUBSCRIBE [pattern1 ...]WATCH key1 [key2 ...]UNWATCHREPLCONF argument [argument ...]PSYNC master_replid offsetINFO [section]ASKINGBGREWRITEAOFSORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination_key]EXISTS key1 [key2 ...]RENAME key newkeyRENAMENX key newkeySAVEBGSAVEBACKUPCLIENT subcommand [argument ...]TIMEROLELASTSAVESLOWLOG subcommand [argument ...]MEMORY subcommand [argument ...]LATENCY subcommand [argument ...]MIGRATE host port key | "" destination_db timeout [COPY] [REPLACE] [AUTH password] [AUTH2 username password] [KEYS key1 [key2 ...]]RESTORE key ttl serialized-value [REPLACE] [ABSTTL] [IDLETIME seconds] [FREQ seconds]SCRIPT subcommand [argument ...]EVAL script numkeys key [key ...] arg [arg ...]EVALSHA sha1 numkeys key [key ...] arg [arg ...]ACL subcommand [argument ...]FAILOVER
String Commands
GET keySET key value [EX seconds] [PX milliseconds] [EXAT timestamp] [PXAT milliseconds-timestamp] [NX | XX] [KEEPTTL] [GET]SETEX key seconds valuePSETEX key milliseconds valueGETRANGE key start endSETRANGE key offset valueAPPEND key valueINCR keyDECR keyINCRBY key incrementINCRBYFLOAT key incrementDECRBY key decrementMGET key1 [key2 ...]MSET key1 value1 [key2 value2 ...]MSETNX key1 value1 [key2 value2 ...]STRLEN keySETBIT key offset valueGETBIT key offsetBITCOUNT key [start end]BITOP operation destkey key1 [key2 ...]BITPOS key bit [start [end]]GETDEL keyGETEX key [EX seconds] [PX milliseconds] [EXAT timestamp] [PXAT milliseconds-timestamp] [PERSIST]GETSET key valueBITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP | SAT | FAIL]
List Commands
LPUSH key value1 [value2 ...]LPUSHX key value1 [value2 ...]RPUSH key value1 [value2 ...]RPUSHX key value1 [value2 ...]LPOP key [count]RPOP key [count]LMOVE source destination (LEFT | RIGHT) (LEFT | RIGHT)BLMOVE source destination (LEFT | RIGHT) (LEFT | RIGHT) timeoutLLEN keyLRANGE key start stopLINDEX key indexLTRIM key start stopLINSERT key (BEFORE | AFTER) pivot valueLSET key index valueLPOS key element [RANK rank] [COUNT num] [MAXLEN len]BLPOP key1 [key2 ...] timeoutBRPOP key1 [key2 ...] timeoutLREM key count value
Hash Commands
HSET key field value [field value ...]HGET key fieldHGETALL keyHDEL key field1 [field2 ...]HEXISTS key fieldHLEN keyHKEYS keyHVALS keyHINCRBY key field incrementHINCRBYFLOAT key field incrementHMGET key field1 [field2 ...]HRANDFIELD key [count [WITHVALUES]]HSETNX key field valueHSTRLEN key field
Set Commands
SADD key member1 [member2 ...]SREM key member1 [member2 ...]SMEMBERS keySISMEMBER key memberSCARD keySPOP key [count]SUNION key1 [key2 ...]SINTER key1 [key2 ...]SDIFF key1 [key2 ...]SRANDMEMBER key [count]SMOVE source destination memberSMISMEMBER key member1 [member2 ...]SUNIONSTORE destination key1 [key2 ...]SINTERSTORE destination key1 [key2 ...]SDIFFSTORE destination key1 [key2 ...]
Sorted Set Commands
ZADD key [NX | XX | CH | INCR] [score member [score member ...]]ZRANGE key start stop [BYSCORE | BYLEX] [REV] [LIMIT offset count] [WITHSCORES]ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]ZRANGEBYLEX key min max [LIMIT offset count]ZREVRANGE key start stop [WITHSCORES]ZCARD keyZSCORE key memberZCOUNT key min maxZLEXCOUNT key min maxZREM key member1 [member2 ...]ZREMRANGEBYSCORE key min maxZRANK key memberZREVRANK key memberZINCRBY key increment memberZPOPMIN key [count]ZPOPMAX key [count]BZPOPMIN key1 [key2 ...] timeoutBZPOPMAX key1 [key2 ...] timeoutZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM | MIN | MAX]ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM | MIN | MAX]ZREMRANGEBYLEX key min maxZREMRANGEBYRANK key start stopZRANGESTORE dst src min max [BYSCORE | BYLEX] [REV] [LIMIT offset count]ZMSCORE key member1 [member2 ...]
Geospatial Commands
GEOADD key longitude latitude member [longitude latitude member ...]GEOPOS key member1 [member2 ...]GEODIST key member1 member2 [unit]GEORADIUS key longitude latitude radius M|KM|FT|MI [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]GEORADIUSBYMEMBER key member radius M|KM|FT|MI [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
Stream Commands
XADD key ID field value [field value ...]XRANGE key start end [COUNT count]XREVRANGE key end start [COUNT count]XTRIM key MAXLEN | MINID [~ | =] thresholdXDEL key ID1 [ID2 ...]XLEN keyXINFO subcommand [argument ...]XGROUP subcommand [argument ...]XACK key group ID1 [ID2 ...]XPENDING key group [start end count [consumer]]XCLAIM key group consumer min-idle-time ID1 [ID2 ...] [JUSTID] [FORCE] [LASTID ID] [RETRYCOUNT count]XREAD [COUNT count] [BLOCK milliseconds] STREAMS key1 [key2 ...] ID1 [ID2 ...]XREADGROUP GROUP group consumer [COUNT count] [BLOCK milliseconds] [NOACK] STREAMS key1 [key2 ...] ID1 [ID2 ...]XAUTOCLAIM key group consumer min-idle-time start-id [COUNT count] [JUSTID]
Scan Commands
SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]HSCAN key cursor [MATCH pattern] [COUNT count]SSCAN key cursor [MATCH pattern] [COUNT count]ZSCAN key cursor [MATCH pattern] [COUNT count]
➡️ Next Chapter: 1. Installation & Setup