Redis总结
Redis总结
Key
命令 | 描述 |
---|---|
DEL key | 删除键值 |
DUMP key | 序列化键值 |
EXISTS key | 检查key是否存在 |
EXPIRE key 秒 | 设置key的过期时间,秒格式 |
PEXPIRE key 毫秒 | 设置key的过期时间,毫秒格式 |
EXPIREAT key 时间戳 | 设置key的过期时间,UNIX 时间戳(unix timestamp)格式 |
KEYS PATTERN | 查找所有符合给定模式 pattern 的 key |
MOVE key 目标数据库 | 将当前数据库的 key 移动到给定的数据库 db 当中 |
PERSIST key | 移除给定 key 的过期时间 |
TTL key | 返回过期时间,秒格式 |
PTTL key | 返回过期时间,毫秒格式 |
RANDOMKEY | 随机返回一个key |
RENAME key 新名称 | 修改key的名称 |
SCAN CURSOR [MATCH pattern] [COUNT count] | 迭代键,cursor 游标,pattern匹配模式,count 默认值返回 10 |
SSCAN key CURSOR [MATCH pattern] [COUNT count] | 迭代集合中键的元素 |
HSCAN key CURSOR [MATCH pattern] [COUNT count] | 迭代哈希表中键的元素 |
ZSCAN key CURSOR [MATCH pattern] [COUNT count] | 迭代有序集合中键的元素 |
TYPE KEY_NAME | 返回 key 所储存的值的类型 |
String
命令 | 描述 |
---|---|
SET key value | 设置指定 key 的值 |
GET key | 获取指定 key 的值 |
GETRANGE key start end | 返回 key 中字符串值的子字符 |
GETSET key value | 将给定 key 的值设为 value ,并返回 key 的旧值(old value) |
GETBIT key offset | 对 key 所储存的字符串值,获取指定偏移量上的位(bit) |
MGET key1 key2 …… | 获取所有(一个或多个)给定 key 的值 |
SETBIT key offset value | 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit) |
SETEX key seconds value | 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位) |
SETNX key value | 只有在 key 不存在时设置 key 的值 |
SETRANGE key offset value | 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始 |
STRLEN key | 返回 key 所储存的字符串值的长度 |
MSET key1 value1 key2 value2 …… | 同时设置一个或多个 key-value 对 |
MSETNX key1 value1 key2 value2 …… | 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在 |
PSETEX key milliseconds value | 以毫秒为单位设置 key 的生存时间 |
INCR key | 将 key 中储存的数字值增一 |
INCRBY key increment | 将 key 所储存的值加上给定的增量值(increment) |
INCRBYFLOAT key increment | 将 key 所储存的值加上给定的浮点增量值(increment) |
DECR key | 将 key 中储存的数字值减一 |
DECRBY key decrement | key 所储存的值减去给定的减量值(decrement) |
APPEND key value | 将指定的 value 追加到该 key 原来值(value)的末尾。 |
Hash
命令 | 描述 |
---|---|
HDEL key field1 field2 …… | 删除一个或多个哈希表字段 |
HEXISTS key fiels | 查看哈希表 key 中,指定的字段是否存在。 |
HGET key field | 获取存储在哈希表中指定字段的值。 |
HGETALL key | 获取在哈希表中指定 key 的所有字段和值 |
HINCRBY key field increment | 为哈希表 key 中的指定字段的整数值加上增量 increment 。 |
HINCRBYFLOAT key field increment | 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。 |
HKEYS key | 获取所有哈希表中的字段 |
HLEN key | 获取哈希表中字段的数量 |
HMGET key field1 field2 …… | 获取所有给定字段的值 |
HMSET key field1 vlaue1 field2 value2 …… | 同时将多个 field-value (域-值)对设置到哈希表 key 中。 |
HSET key field value | 将哈希表 key 中的字段 field 的值设为 value 。 |
HSETNX key field value | 只有在字段 field 不存在时,设置哈希表字段的值。 |
HVALS key | 获取哈希表中所有值。 |
HSCAN key cursor [MATCH pattern] [COUNT count] | 迭代哈希表中的键值对。 |
List
命令 | 描述 |
---|---|
BLPOP list1 list2 …… TIMEOUT | 移出并获取列表的第一个元素,无元素会阻塞至超时 |
BRPOP list1 list2 …… TIMEOUT | 移出并获取列表的最后一个元素,无元素会阻塞至超时 |
BRPOPLPUSH list1 list2 TIMEOUT | 从list1中取出最后一个元素,插入到list2的头部 |
LINDEX list index | 通过索引获取列表中的元素 |
LINSERT list BEFORE|AFTER pivot value | 在列表的元素前或者后插入元素,空列表不执行任何操作 |
LLEN list | 获取列表长度 |
LPOP list | 移除并获取列表第一个元素 |
LPUSH list vlaue1 vlaue2 …… | 将一个或多个值插入到列表的头部,列表不存在则创建 |
LPUSHX list vlaue1 vlaue2 …… | 将一个或多个值插入到列表的头部,列表不存在不操作 |
LRANGE list start end | 获取指定范围的元素 |
LREM list count value | 移除|count|个与 value 相等的元素,count=0全部,+表尾开始,-表头开始 |
LSET list index value | 通过索引来设置元素的值 |
LTRIM list start end | 对一个列表进行修剪(trim),让列表只保留指定区间内的元素 |
RPOP list | 移除并获取列表最后一个元素 |
RPOPLPUSH list1 list2 | 移除list1的最后一个元素,并添加到list2并返回 |
RPUSH list vlaue1 vlaue2 …… | 将一个或多个值插入到列表的尾部,,列表不存在则创建 |
RPUSHX list vlaue1 vlaue2 …… | 将一个或多个值插入到列表的尾部,列表不存在不操作 |
Set
命令 | 描述 |
---|---|
SADD set member1 member2 …… | 向集合中添加成员 |
SCARD set | 获取集合成员数 |
SDIFF set1 set2 …… | 返回集合之间的差集 |
SDIFFSTORE set set1 set2 …… | 将给定集合之间的差集存储在set中,若set已存在则覆盖 |
SINTER set1 set2 …… | 返回集合之间的交集 |
SINTERSTORE set set1 set2 …… | 将给定集合之间的交集存储在set中,若set已存在则覆盖 |
SISMEMBER set value | 判断成员元素是否是集合的成员 |
SMEMBERS set | 返回集合中所有成员 |
SMOVE set1 set2 member | 将member从set1移动到set2 |
SPOP set [count] | 移除一个或多个随机元素,移除后会返回移除的元素。 |
SRANDMEMBER set [count] | 用于返回集合中的一个或多个随机元素 |
SREM set member1 member2 …… | 移除一个或多个成员 |
SUNION set1 set2 …… | 返回给定集合的并集。不存在的集合 key 被视为空集 |
SUNIONSTORE set set1 set2 …… | 将给定集合之间的并集存储在set中,若set已存在则覆盖 |
SSCAN key CURSOR [MATCH pattern] [COUNT count] | 迭代集合中的元素 |
Sorted Set
命令 | 描述 |
---|---|
ZADD sset score1 member1 score2 member2 …… | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
ZCARD sset | 获取有序集合的成员数 |
ZCOUNT sset min max | 计算在有序集合中指定区间分数的成员数 |
ZINCRBY sset increment member | 有序集合中对指定成员的分数加上增量 increment |
ZINTERSTORE sset numkeys sset1 sset2 …… | 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 sset 中 |
ZLEXCOUNT sset min max | 在有序集合中计算指定字典区间内成员数量 |
ZRANGE sset start stop WITHSCORES | 通过索引区间返回有序集合指定区间内的成员 |
ZRANGEBYLEX sset min max [LIMIT offset count] | 通过字典区间返回有序集合的成员 |
ZRANGEBYSCORE sset min max [WITHSCORES] [LIMIT] | 通过分数返回有序集合指定区间内的成员 |
ZRANK sset member | 返回有序集合中指定成员的索引 |
ZREM sset member1 member2 …… | 移除有序集合中的一个或多个成员 |
ZREMRANGEBYLEX sset min max | 移除有序集合中给定的字典区间的所有成员 |
ZREMRANGEBYRANK sset start stop | 移除有序集合中给定的排名区间的所有成员 |
ZREMRANGEBYSCORE sset min max | 移除有序集合中给定的分数区间的所有成员 |
ZREVRANGE sset start stop [WITHSCORES] | 返回有序集中指定区间内的成员,通过索引,分数从高到低 |
ZREVRANGEBYSCORE sset max min [WITHSCORES] | 返回有序集中指定分数区间内的成员,分数从高到低排序 |
ZREVRANK sset member | 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 |
ZSCORE sset member | 返回有序集中,成员的分数值 |
ZUNIONSTORE sset numkeys sset1 sset2 …… | 计算给定的一个或多个有序集的并集,并存储在新的 sset 中 |
ZSCAN sset CURSOR [MATCH pattern] [COUNT count] | 迭代有序集合中的元素(包括元素成员和元素分值) |
HyperLogLog
命令 | 描述 |
---|---|
PFADD key element1 element2 …… | 添加指定元素到 HyperLogLog 中 |
PFCOUNT key1 key2 …… | 返回给定 HyperLogLog 的基数估算值。 |
PFMERGE destkey sourcekey1 sourcekey2 …… | 将多个 HyperLogLog 合并为一个 HyperLogLog |
订阅
命令 | 描述 |
---|---|
PSUBSCRIBE pattern1 pattern2 …… | 订阅一个或多个符合给定模式的频道 |
PUBSUB <subcommand> [argument [argument ...]] | 查看订阅与发布系统状态 |
PUBLISH channel message | 将信息发送到指定的频道 |
PUNSUBSCRIBE [pattern [pattern ...]] | 退订所有给定模式的频道 |
SUBSCRIBE channel [channel ...] | 订阅指定的频道 |
UNSUBSCRIBE channel [channel ...] | 退订指定的频道 |
事务
命令 | 描述 |
---|---|
DISCARD | 取消事务,放弃执行事务块内的所有命令 |
EXEC | 执行所有事务块内的命令 |
MULTI | 标记一个事务块的开始 |
UNWARTCH | 取消 WATCH 命令对所有 key 的监视 |
WATCH key1 key2 …… | 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断 |
脚本
命令 | 描述 |
---|---|
EVAL script numkeys key [key ...] arg [arg ...] | 执行 Lua 脚本 |
EVALSHA sha1 numkeys key [key ...] arg [arg ...] | 执行 Lua 脚本 |
SCRIPT EXISTS script [script ...] | 查看指定的脚本是否已经被保存在缓存当中 |
SCRIPT FLUSH | 从脚本缓存中移除所有脚本。 |
SCRIPT KILL | 杀死当前正在运行的 Lua 脚本。 |
SCRIPT LOAD script | 将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。 |
连接
命令 | 描述 |
---|---|
AUTH pwd | 验证密码是否正确 |
ECHO msg | 打印字符串 |
PING | 查看服务是否运行 |
QUIT | 退出当前服务 |
SELECT index | 切换到指定数据库 |
服务器
命令 | 描述 |
---|---|
BGREWRITEAOF | 异步执行一个 AOF(AppendOnly File) 文件重写操作 |
BGSAVE | 在后台异步保存当前数据库的数据到磁盘 |
CLIENT KILL ip:port | 关闭客户端连接 |
CLIENT LIST | 获取连接到服务器的客户端连接列表 |
CLIENT GETNAME | 获取连接名称 |
CLIENT PAUSE timeout | 在指定时间内终止运行来自客户端的命令 |
CLIENT SETNAME connection-name | 设置当前连接名称 |
CLUSTER SLOTS | 获取集群节点的映射数组 |
COMMAND | 获取 Redis 命令详情数组 |
COMMAND COUNT | 获取 Redis 命令总数 |
COMMAND GETKEYS | 获取给定命令的所有键 |
TIME | 返回当前服务器时间 |
COMMAND INFO command-name [command-name ...] | 获取指定 Redis 命令描述的数组 |
CONFIG GET parameter | 获取指定配置参数的值 |
CONFIG REWRITE parameter | 对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写 |
CONFIG SET parameter value | 修改 redis 配置参数,无需重启 |
CONFIG RESETSTAT | 重置 INFO 命令中的某些统计数据 |
DBSIZE | 返回当前数据库的 key 的数量 |
DEBUG OBJECT key | 获取 key 的调试信息 |
DEBUG SEGFAULT | 让 Redis 服务崩溃 |
FLUSHALL | 删除所有数据库的所有key |
FLUSHDB | 删除当前数据库的所有key |
INFO [section] | 获取 Redis 服务器的各种信息和统计数值 |
LASTSAVE | 返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示 |
MONITOR | 实时打印出 Redis 服务器接收到的命令,调试用 |
ROLE | 返回主从实例所属的角色 |
SAVE | 同步保存数据到硬盘 |
SHUTDOWN [NOSAVE] [SAVE] | 异步保存数据到硬盘,并关闭服务器 |
SLAVEOF host port | 将当前服务器转变为指定服务器的从属服务器(slave server) |
SLOWLOG subcommand [argument] | 管理 redis 的慢日志 |
SYNC | 用于复制功能(replication)的内部命令 |
GEO
命令 | 描述 |
---|---|
GEOADD key longitude latitude member [longitude latitude member ...] | 将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中 |
GEOPOS key member [member ...] | 从给定的 key 里返回所有指定名称(member)的位置(经度和纬度) |
GEODIST key member1 member2 [m|km|ft|mi] | 用于返回两个给定位置之间的距离 |
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] | 同GEORADIUS,但中心点是由给定的位置元素决定的 |
GEOHASH key member [member ...] | 获取一个或多个位置元素的 geohash 值 |
Stream
消息队列
命令 | 描述 |
---|---|
XADD key ID field value [field value ...] | 向队列添加消息,队列不存在则创建 |
XTRIM key MAXLEN [~] count | 对流进行修剪,限制长度 |
XDEL key ID [ID ...] | 删除消息 |
XLEN key | 获取消息长度 |
XRANGE key start end [COUNT count] | 获取消息列表,会自动过滤已经删除的消息 |
XREVRANGE key end start [COUNT count] | 获取消息列表,会自动过滤已经删除的消息 |
XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] id [id ...] | 以阻塞或非阻塞方式获取消息列表 |
消费者组
命令 | 描述 |
---|---|
XGROUP [CREATE key groupname id-or-$] [SETID key groupname id-or-$] [DESTROY key groupname] [DELCONSUMER key groupname consumername] | 创建消费者组 |
XREADGROUP GROUP group consumer [COUNT count] [BLOCK milliseconds] [NOACK] STREAMS key [key ...] ID [ID ...] | 读取消费组的消息 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界