Here the list of the most commond redis cli commands
Connection & Info
redis-cli– Connect to Redis server (default localhost:6379)redis-cli -h <host> -p <port>– Connect to specific host/portredis-cli --tls -u <conn_string> --cacert name.crt– Connect using TLS and CAPING– Test connection (returns PONG)INFO– Get server statistics and informationCONFIG GET *– View all configuration parameters
Key Operations
KEYS *– List all keys (avoid in production – use SCAN instead)SCAN 0– Iterate through keys safely in productionEXISTS <key>– Check if key existsDEL <key>– Delete a keyTYPE <key>– Get the data type of a keyTTL <key>– Get time to live in secondsEXPIRE <key> <seconds>– Set expiration timePERSIST <key>– Remove expiration from keyRENAME <oldkey> <newkey>– Rename a key
String Operations
SET <key> <value>– Set a string valueSET <key> <value> EX <seconds>– Set with expiration (replaces SETEX)SET <key> <value> NX– Set only if not exists (replaces SETNX)GET <key>– Get a string valueGETSET <key> <value>– Set and return old valueINCR <key>– Increment integer value by 1DECR <key>– Decrement integer value by 1INCRBY <key> <increment>– Increment by specific amountINCRBYFLOAT <key> <increment>– Increment by floatMGET <key1> <key2> ...– Get multiple valuesAPPEND <key> <value>– Append to stringSTRLEN <key>– Get string lengthGETRANGE <key> <start> <end>– Get substringSETRANGE <key> <offset> <value>– Overwrite part of string
Hash Operations
HSET <key> <field> <value>– Set hash field (also accepts multiple field-value pairs)HGET <key> <field>– Get hash field valueHGETALL <key>– Get all fields and valuesHDEL <key> <field>– Delete hash fieldHKEYS <key>– Get all field namesHVALS <key>– Get all valuesHLEN <key>– Get number of fieldsHEXISTS <key> <field>– Check if field existsHINCRBY <key> <field> <increment>– Increment hash fieldHSCAN <key> <cursor>– Iterate hash fields
List Operations
LPUSH <key> <value>– Push to list headRPUSH <key> <value>– Push to list tailLPOP <key>– Pop from list headRPOP <key>– Pop from list tailLRANGE <key> <start> <stop>– Get range of elements (use LRANGE key 0 -1 for all)LLEN <key>– Get list lengthLINDEX <key> <index>– Get element by indexLSET <key> <index> <value>– Set element by indexLINSERT <key> BEFORE|AFTER <pivot> <value>– Insert elementLTRIM <key> <start> <stop>– Trim list to rangeBLPOP <key> <timeout>– Blocking pop from headBRPOP <key> <timeout>– Blocking pop from tailRPOPLPUSH <source> <dest>– Pop from one list, push to anotherBRPOPLPUSH <source> <dest> <timeout>– Blocking version
Set Operations
SADD <key> <member>– Add member to setSMEMBERS <key>– Get all set membersSISMEMBER <key> <member>– Check if member existsSREM <key> <member>– Remove member from setSCARD <key>– Get set cardinality (size)SDIFF <key1> <key2>– Set differenceSINTER <key1> <key2>– Set intersectionSUNION <key1> <key2>– Set unionSDIFFSTORE <dest> <key1> <key2>– Store difference resultSINTERSTORE <dest> <key1> <key2>– Store intersection resultSUNIONSTORE <dest> <key1> <key2>– Store union resultSPOP <key>– Remove and return random memberSRANDMEMBER <key> <count>– Get random member(s)SSCAN <key> <cursor>– Iterate set members
Sorted Set Operations
ZADD <key> <score> <member>– Add member with scoreZRANGE <key> <start> <stop>– Get range by indexZRANGEBYSCORE <key> <min> <max>– Get range by scoreZREM <key> <member>– Remove memberZCARD <key>– Get sorted set sizeZCOUNT <key> <min> <max>– Count members in score rangeZINCRBY <key> <increment> <member>– Increment member scoreZRANK <key> <member>– Get member rank (ascending)ZREVRANK <key> <member>– Get member rank (descending)ZSCORE <key> <member>– Get member scoreZREVRANGE <key> <start> <stop>– Get range in reverse orderZREMRANGEBYRANK <key> <start> <stop>– Remove by rank rangeZREMRANGEBYSCORE <key> <min> <max>– Remove by score rangeZUNIONSTORE <dest> <numkeys> <key...>– Union of sorted setsZINTERSTORE <dest> <numkeys> <key...>– Intersection of sorted setsZSCAN <key> <cursor>– Iterate sorted set membersZPOPMIN <key> <count>– Pop members with lowest scoresZPOPMAX <key> <count>– Pop members with highest scores
Pub/Sub (Messaging)
PUBLISH <channel> <message>– Send message to channelSUBSCRIBE <channel>– Subscribe to channel(s)PSUBSCRIBE <pattern>– Subscribe using pattern matchingUNSUBSCRIBE <channel>– Unsubscribe from channelPUBSUB CHANNELS– List active channelsPUBSUB NUMSUB <channel>– Get subscriber count for channels
Transactions
MULTI– Start transaction blockEXEC– Execute all commands in transactionDISCARD– Cancel transactionWATCH <key>– Watch key for optimistic lockingUNWATCH– Clear all watched keys
Scripting (Lua)
EVAL <script> <numkeys> <key...> <arg...>– Execute Lua scriptEVALSHA <sha1> <numkeys> <key...> <arg...>– Execute cached scriptSCRIPT LOAD <script>– Load script into cacheSCRIPT EXISTS <sha1>– Check if script is cachedSCRIPT FLUSH– Remove all cached scriptsSCRIPT KILL– Kill running script
Bit Operations (Bitmaps)
SETBIT <key> <offset> <value>– Set bit at offsetGETBIT <key> <offset>– Get bit at offsetBITCOUNT <key>– Count set bitsBITOP AND|OR|XOR|NOT <destkey> <key...>– Bitwise operationsBITPOS <key> <bit>– Find first bit set/clear
HyperLogLog (Cardinality Estimation)
PFADD <key> <element...>– Add elementsPFCOUNT <key...>– Get approximate countPFMERGE <destkey> <sourcekey...>– Merge HyperLogLogs
Geospatial
GEOADD <key> <long> <lat> <member>– Add locationGEODIST <key> <member1> <member2> <unit>– Get distanceGEOSEARCH <key> FROMLONLAT <long> <lat> BYRADIUS <radius> <unit>– Query by radius from coordinatesGEOSEARCH <key> FROMMEMBER <member> BYRADIUS <radius> <unit>– Query by radius from memberGEOPOS <key> <member>– Get coordinatesGEOHASH <key> <member>– Get geohash string
Streams (Event Sourcing)
XADD <key> * <field> <value>– Add entry to streamXREAD STREAMS <key> <id>– Read from streamXRANGE <key> <start> <end>– Get range of entriesXLEN <key>– Get stream lengthXGROUP CREATE <key> <group> <id>– Create consumer groupXREADGROUP GROUP <group> <consumer> STREAMS <key> >– Read as consumerXACK <key> <group> <id>– Acknowledge messageXPENDING <key> <group>– Check pending messages
Database & Admin
SELECT <db>– Switch to database number (0-15 by default)FLUSHDB– Clear current databaseFLUSHALL– Clear all databasesDBSIZE– Get number of keys in current databaseMONITOR– Watch all commands in real-time (debug only)SAVE– Synchronous save to diskBGSAVE– Background save to disk
Memory & Performance
MEMORY USAGE <key>– Get memory used by keyMEMORY STATS– Memory allocation statsMEMORY DOCTOR– Memory usage reportSLOWLOG GET <count>– Get slow queriesSLOWLOG LEN– Get slow log lengthSLOWLOG RESET– Clear slow logCLIENT LIST– List connected clientsCLIENT KILL <ip:port>– Kill client connectionCLIENT SETNAME <name>– Set client nameCLIENT GETNAME– Get client name
Cluster Commands
CLUSTER INFO– Get cluster informationCLUSTER NODES– List all nodesCLUSTER SLOTS– Get slot assignmentsCLUSTER KEYSLOT <key>– Get hash slot for key
Debugging & Analysis
OBJECT ENCODING <key>– Get internal encodingOBJECT REFCOUNT <key>– Get reference countOBJECT IDLETIME <key>– Get idle time in secondsDEBUG OBJECT <key>– Get debug info about keyDUMP <key>– Serialize key valueRESTORE <key> <ttl> <serialized-value>– Restore serialized value
CLI Options
redis-cli --scan --pattern "user:*"– Search for keys by patternredis-cli --bigkeys– Find biggest keysredis-cli --stat– Show continuous statsredis-cli --latency– Measure latencyredis-cli --rdb <filename>– Download RDB backupredis-cli --pipe– Pipe mode for mass insertionredis-cli --csv– Output in CSV formatredis-cli --intrinsic-latency <seconds>– Measure system latencyredis-cli --ldb– Start Lua debuggerredis-cli --eval <file> <keys> , <args>– Execute Lua script from file