Redis是一个开源的,基于内存的数据结构存储系统,它支持多种数据结构,包括字符串、列表、哈希表、集合、有序集合等。
字符串命令
-
SET key value:设置key的值为value。 -
GET key:获取key的值。 -
MGET key1 [key2..]:一次获取多个key的值。 -
SETEX key seconds value:设置key的值为value,并设置过期时间为seconds秒。 -
PSETEX key milliseconds value:设置key的值为value,并设置过期时间为milliseconds毫秒。 -
SETNX key value:当key不存在时,设置key的值为value。 -
MSET key1 value1 [key2 value2..]:一次设置多个key的值。 -
MSETNX key1 value1 [key2 value2..]:一次设置多个key的值,当所有key都不存在时才执行。 -
APPEND key value:将value追加到key的值末尾。 -
STRLEN key:获取key的值的长度。 -
INCR key:将key的值增加1。 -
INCRBY key increment:将key的值增加increment。 -
INCRBYFLOAT key increment:将key的值增加increment(支持浮点数)。 -
DECR key:将key的值减少1。 -
DECRBY key decrement:将key的值减少decrement。 -
GETSET key value:设置key的值为value,并返回key原来的值。
列表命令
-
LPUSH key value1 [value2..]:将value1、value2等依次插入到key对应的列表的左侧。 -
RPUSH key value1 [value2..]:将value1、value2等依次插入到key对应的列表的右侧。 -
LPOP key:删除并返回key对应的列表的左侧的第一个元素。 -
RPOP key:删除并返回key对应的列表的右侧的第一个元素。 -
LLEN key:获取key对应的列表的长度。 -
LRANGE key start stop:获取key对应的列表中下标从start到stop的元素。 -
LINDEX key index:获取key对应的列表中下标为index的元素。 -
LSET key index value:将key对应的列表中下标为index的元素设置为value。 -
LINSERT key BEFORE|AFTER pivot value:在key对应的列表中,找到pivot元素,并在其前/后插入value。 -
LREM key count value:在key对应的列表中,从左至右删除count个值为value的元素。 -
BLPOP key1 [key2..] timeout:阻塞地从key1、key2等对应的列表中取出左侧第一个元素,如果没有元素则一直等待,直到timeout秒后返回。 -
RPOPLPUSH source destination:将source对应的列表的右侧第一个元素弹出,并插入到destination对应的列表的左侧。 -
BRPOPLPUSH source destination timeout:阻塞地将source对应的列表的右侧第一个元素弹出,并插入到destination对应的列表的左侧,如果source列表没有元素则一直等待,直到timeout秒后返回。
哈希表命令
-
HSET key field value:设置key对应的哈希表中field的值为value。 -
HGET key field:获取key对应的哈希表中field的值。 -
HMSET key field1 value1 [field2 value2..]:一次设置多个field的值。 -
HMGET key field1 [field2..]:一次获取多个field的值。 -
HDEL key field1 [field2..]:删除key对应的哈希表中field1、field2等对应的值。 -
HEXISTS key field:判断key对应的哈希表中是否存在field。 -
HGETALL key:获取key对应的哈希表中所有的field和对应的value。 -
HINCRBY key field increment:将key对应的哈希表中field的值增加increment。 -
HINCRBYFLOAT key field increment:将key对应的哈希表中field的值增加increment(支持浮点数)。 -
HKEYS key:获取key对应的哈希表中所有的field。 -
HLEN key:获取key对应的哈希表中field的数量。 -
HSETNX key field value:当key对应的哈希表中field不存在时,设置field的值为value。 -
HVALS key:获取key对应的哈希表中所有的value。
集合命令
-
SADD key member1 [member2..]:将member1、member2等依次添加到key对应的集合中。 -
SCARD key:获取key对应的集合的元素数量。 -
SISMEMBER key member:判断member是否在key对应的集合中。 -
SMEMBERS key:获取key对应的集合中所有的元素。 -
SPOP key:随机地从key对应的集合中删除并返回一个元素。 -
SRANDMEMBER key [count]:随机地从key对应的集合中获取count个元素,当count为正数时,元素不重复;当count为负数时,元素可能重复。 -
SREM key member1 [member2..]:删除key对应的集合中member1、member2等对应的元素。 -
SDIFF key1 [key2..]:获取key1对应的集合中不在key2对应的集合中的元素。 -
SDIFFSTORE destination key1 [key2..]:将key1对应的集合中不在key2对应的集合中的元素保存到destination对应的集合中。 -
SINTER key1 [key2..]:获取key1对应的集合和key2对应的集合的交集。 -
SINTERSTORE destination key1 [key2..]:将key1对应的集合和key2对应的集合的交集保存到destination对应的集合中。 -
SUNION key1 [key2..]:获取key1对应的集合和key2对应的集合的并集。 -
SUNIONSTORE destination key1 [key2..]:将key1对应的集合和key2对应的集合的并集保存到destination对应的集合中。 -
SMOVE source destination member:将source对应的集合中的member移动到destination对应的集合中。 -
SSCAN key cursor [MATCH pattern] [COUNT count]:使用游标分批次地遍历key对应的集合中的元素。
有序集合命令
-
ZADD key score1 member1 [score2 member2..]:将member1、member2等依次添加到key对应的有序集合中,并分别设置它们的分值为score1、score2等。 -
ZCARD key:获取key对应的有序集合的元素数量。 -
ZCOUNT key min max:获取key对应的有序集合中分值在[min, max]区间内的元素数量。 -
ZINCRBY key increment member:将member在key对应的有序集合中的分值增加increment。 -
ZRANGE key start stop [WITHSCORES]:获取key对应的有序集合中排名在[start, stop]之间的元素(按分值从小到大排序)。 -
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]:获取key对应的有序集合中分值在[min, max]区间内的元素(按分值从小到大排序)。 -
ZREM key member1 [member2..]:删除key对应的有序集合中member1、member2等对应的元素。 -
ZREMRANGEBYRANK key start stop:删除key对应的有序集合中排名在[start, stop]之间的元素。 -
ZREMRANGEBYSCORE key min max:删除key对应的有序集合中分值在[min, max]区间内的元素。 -
ZSCORE key member:获取key对应的有序集合中member的分值。 -
ZINTERSTORE destination numkeys key1 [key2..] [WEIGHTS weight1 [weight2..]] [AGGREGATE SUM|MIN|MAX]:求key1、key2等对应的有序集合的交集,并保存到destination对应的有序集合中。 -
ZUNIONSTORE destination numkeys key1 [key2..] [WEIGHTS weight1 [weight2..]] [AGGREGATE SUM|MIN|MAX]:求key1、key2等对应的有序集合的并集,并保存到destination对应的有序集合中。 -
ZLEXCOUNT key min max:获取key对应的有序集合中成员名称在[min, max]之间的数量。 -
ZRANGEBYLEX key min max [LIMIT offset count]:获取key对应的有序集合中成员名称在[min, max]之间的元素。 -
ZREMRANGEBYLEX key min max:删除key对应的有序集合中成员名称在[min, max]之间的元素。 -
ZSCAN key cursor [MATCH pattern] [COUNT count]:使用游标分批次地遍历key对应的有序集合中的元素。
地理位置命令
-
GEOADD key longitude latitude member [longitude latitude member..]:将member的经纬度添加到key对应的地理位置集合中。 -
GEOPOS key member [member..]:获取key对应的地理位置集合中member的经纬度。 -
GEODIST key member1 member2 [unit]:获取key对应的地理位置集合中member1和member2之间的距离。 -
GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count]:获取key对应的地理位置集合中距离指定经纬度不超过radius的元素。 -
GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count]:获取key对应的地理位置集合中距离指定member不超过radius的元素。 -
GEOHASH key member [member..]:获取key对应的地理位置集合中member的geoh
事务命令
-
MULTI:标记事务块的开始。 -
EXEC:执行所有在MULTI和EXEC之间的命令。 -
DISCARD:取消事务,清空所有已入队但未执行的命令。 -
WATCH key [key..]:监视key,当key被其他客户端修改时,事务将被打断。 -
UNWATCH:取消对所有key的监视。
发布与订阅命令
-
SUBSCRIBE channel [channel..]:订阅一个或多个频道。 -
UNSUBSCRIBE [channel..]:取消订阅一个或多个频道。 -
PUBLISH channel message:将消息发布到指定的频道。 -
PSUBSCRIBE pattern [pattern..]:订阅与给定模式相匹配的一个或多个频道。 -
PUNSUBSCRIBE [pattern..]:取消订阅与给定模式相匹配的一个或多个频道。 -
PUBSUB subcommand [argument [argument..]]:查看订阅与发布系统状态。
Lua脚本命令
-
EVAL script numkeys key [key..] arg [arg..]:使用Lua脚本执行命令。 -
EVALSHA sha1 numkeys key [key..] arg [arg..]:使用缓存的Lua脚本执行命令。 -
SCRIPT LOAD script:将Lua脚本编译成缓存脚本。
连接命令
-
AUTH password:验证密码。 -
ECHO message:输出给定的字符串。 -
PING [message]:检查Redis服务器是否运行。 -
QUIT:关闭与当前客户端的连接。 -
SELECT index:切换到指定的数据库。
安全命令
-
ACL LOAD:从指定文件中加载ACL文件。 -
ACL SAVE:将当前ACL配置保存到硬盘上的ACL文件中。 -
ACL LIST:列出当前所有ACL用户。 -
ACL USERS:列出指定的ACL用户的详细信息。 -
ACL GETUSER username:获取指定用户的ACL。 -
ACL SETUSER username [rule [rule..]]:修改指定用户的ACL。 -
ACL DELUSER username [username..]:删除一个或多个ACL用户。 -
ACL CAT [category]:列出指定的ACL规则分类或者所有规则。 -
ACL GENPASS [bits]:生成一个随机密码并打印出来。 -
ACL WHOAMI:返回当前连接的用户名。
集群命令
-
CLUSTER ADDSLOTS slot [slot..]:为指定节点添加一个或多个槽。 -
CLUSTER COUNTKEYSINSLOT slot:返回槽中的键数。 -
CLUSTER DELSLOTS slot [slot..]:从指定节点中删除一个或多个槽。 -
CLUSTER INFO:获取集群信息。 -
CLUSTER KEYSLOT key:返回键属于的槽。 -
CLUSTER MEET ip port:将节点添加到集群中。 -
CLUSTER NODES:列出集群中的所有节点信息。 -
CLUSTER REPLICATE node-id:将节点设置为指定节点的从节点。 -
CLUSTER RESET [hard|soft]:重置集群。 -
CLUSTER SET-CONFIG-EPOCH config-epoch:设置配置纪元。
Sentinel命令
-
SENTINEL get-master-addr-by-name master-name:获取指定主节点的IP地址和端口号。 -
SENTINEL masters:列出所有被Sentinel监控的主节点。 -
SENTINEL master master-name:获取指定主节点的信息。 -
SENTINEL slaves master-name:列出指定主节点的所有从节点。 -
SENTINEL reset pattern [pattern..]:重置Sentinel状态。 -
SENTINEL failover master-name:强制进行故障转移。
内部命令
-
COMMAND:显示所有Redis命令。 -
CONFIG GET parameter:获取指定配置参数的值。 -
CONFIG SET parameter value:设置指定配置参数的值。 -
CONFIG RESETSTAT:重置Redis统计数据。 -
DBSIZE:返回当前数据库的key数量。 -
DEBUG OBJECT key:获取指定键的调试信息。 -
FLUSHALL [ASYNC]:清空所有数据库。 -
FLUSHDB [ASYNC]:清空当前数据库。 -
INFO [section]:返回Redis服务器的信息。 -
LASTSAVE:返回最后一次成功将数据保存到磁盘上的时间。 -
MEMORY DOCTOR:输出Redis内存问题报告。 -
MEMORY HELP:列出Redis内存命令。 -
MEMORY MALLOC-STATS:返回Redis内存分配器的统计信息。 -
MEMORY PURGE:在禁用RDB或AOF持久性时使用,手动清除不必要的内存页。 -
MEMORY STATS:返回Redis内存消耗的统计信息。 -
MEMORY USAGE key [SAMPLES count]:返回键所占用的内存。 -
ROLE:返回Redis服务器的角色。 -
SAVE:将数据同步保存到磁盘上。 -
SHUTDOWN [NOSAVE] [SAVE]:关闭Redis服务器。 -
SLAVEOF host port:将当前Redis实例设置为给定Redis服务器的从服务器。 -
SLOWLOG subcommand [argument]:管理Redis慢查询日志。 -
SYNC:用于复制操作,等待所有已接收数据的从服务器进行同步。 -
TIME:返回当前服务器时间。
原文始发于微信公众号(师小师):Redis 最全命令总结
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/226344.html