redis command
字符串:
GET 获取存储在给定键中的值
SET 设置存储在给定键中的值
DEL 删除存储在给定键中的值(这个命令可以用于所有类型)
如果字符串能够解释为整数或浮点数否则返回错误,如果对空字符串进行操作默认初始值为0:
INCR INCR key-name 将键存储的值加上1
DECR DECR key-name 将键存储的值减去1
INCRBY INCRBY key-name amount 将键存储的值加上整数amount
DECRBY DECRBY key-name amount 将键存储的值减去整数amount
INCRBYFLOAT INCRBYFLOAT key-name amount 将键存储的值加上浮点数amount,这个命令在Redis 2.6 或以上的版本可用 浮点数不可以加上整数
处理子串和二进制:
APPEND APPEND key-name value 将值value追加到给定键key-name当前存储的值的末尾
GETRANGE GETRANGE key-name start end 获取一个由偏移量start至偏移量end范围内所有字符组成的子串,包括start和end在内,如果start小于0则从第一个字符串返回或end超过长度将返回整个字符串
SETRANGE SETRANGE key-name offset value 将从start偏移量开始的子串设置给定值
GETBIT GETBIT key-name offset 将字节串看作是二进制位串(bit string),并返回位串中偏移量为offset的二进制位的值
SETBIT SETBIT key-name offset value 将字节串看作是二进制位串,并将位串中偏移量为offset的二进制位的值设置为value
BITCOUNT BITCOUNT key-name [start end] 统计二进制位串里面值为1的二进制位的数量,如果给定了可选的start偏移量和end偏移量,那么只对偏移量指定范围内的二进制位进行统计
BITOP BITOP operation dest-key key-name [key-name ....] 对一个或多个二进制位串执行包括(AND)、或(OR)、异或(XOR)、非(NOT)在内的任意一种按位运算操作(bitwise operation)并将计算得出的结果保存在dest-key键里面
列表:
RPUSH RPUSH key-name value [value ...] 将给定值推入列表的右端
LPUSH LPUSH key-name value [value ...] 将给定值推入列表的左端
LRANGE LRANGE key-name start end 返回列表从start偏移量到end偏移量范围内的所有元素,其中偏移量为start和偏移量为end的元素也会包含在被返回的元素之内
LINDEX LINDEX key-name offset 返回列表中偏移量为offset的元素
LPOP LPOP key-name 从列表的左端弹出一个值,并返回被弹出的值
RPOP RPOP key-name 从列表的右端弹出一个值,并返回被弹出的值
LTRIM LTRIM key-name start end 对列表进行修剪,只保留从start偏移量到end偏移量范围内的元素,其中偏移量为start和偏移量为end的元素也会被保留
阻塞式的列表弹出命令以及在列表之间移动元素的命令:
BLPOP BLPOP key-name [key-name ....] timeout 从第一个非空列表中弹出位于最左端的元素,或者在timeout秒内阻塞并等待可弹出的元素出现
BRPOP BRPOP key-name [key-name ....] timeout 从第一个非空列表中弹出位于最右端的元素,或者在timeout秒内阻塞并等待可弹出的元素出现
RPOPLPUSH RPOPLPUSH source-key dest-key 从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素
BRPOPLPUSH BRPOPLPUSH source-key dest-key timeout 从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素;如果source-key为空,那么在timeout秒内阻塞并等待可弹出的元素出现
集合:
SADD SADD key-name item [item ...] 将一个或多个元素添加到集合里面,并返回被添加元素当中原本并不存在于集合里面的元素数量
SMEMBERS SMEMBERS key-name 返回集合包含的所有元素
SISMEMBER SISMEMBER key-name item 检查元素item是否存在于集合中key-name里
SREM SREM key-name item [item ...] 从集合里面移除一个或多个元素,并返回被移除元素的数量
SCARD SCARD key-name 返回集合包含的元素的数量
SRANDMEMBER SRANDMEMBER key-name [count] 从集合里面随机地返回一个或多个元素。当count为正数时,命令返回的随机元素不会重复;当count为负数时,命令返回的随机元素可能会出现重复
SPOP SPOP key-name 随机地移除集合中的一个元素,并返回被移除的元素
SMOVE SMOVE source-key dest-key item 如果集合source-key包含元素item,那么从集合source-key里面移除元素item,并将元素item添加到集合dest-key中;如果item被成功移除,那么命令返回1,否则返回0
用于组合和处理多个集合:
SDIFF SDIFF key-name [key-name ...] 返回那些存在于第一个集合、但不存在于其他集合中的元素(数学上的差集运算)
SDIFFSTORE SDIFFSTORE dest-key key-name [key-name ...] 将那些存在于第一个集合但不存在于其他集合中的元素(数学上的差集运算)存储到dest-key键里面
SINTER SINTER key-name [key-name ...] 返回那些同时存在于所有集合中的元素(数学上的交集运算)
SINTERSTORE SINTERSTORE dest-key key-name [key-name ...] 将那些同时存在于所有集合中的元素(数学上的交集运算)存储到dest-key键里面
SUNION SUNION key-name [key-name ...] 返回那些至少存在于一个集合中的元素(数学上的并集计算)
SUNIONSTORE SUNIONSTORE dest-key key-name [key-name ...] 将那些至少存在于一个集合中的元素(数学上的并集计算)存储到dest-key键里面
散列:
HSET 在散列里面关联起给定的键值对
HGET 获取指定散列键的值
HGETALL 获取散列包含的所有键值对
HDEL 如果给定键存在于散列里面,那么移除这个键
用于添加和删除键值对的散列操作:
HMGET HMGET key-name key [key ...] 从散列里面获取一个或多个键的值
HMSET HMSET key-name key value [key value ...] 为散列里面的一个或多个键设置值
HDEL HDEL key-name key [key ...] 删除散列里面的一个或多个键值对,返回成功找到并删除的键值对数量
HLEN HLEN key-name 返回散列包含的键值对数量
高级特性:
HEXISTS HEXISTS key-name key 检查给定键是否存在于散列中
HKEYS HKEYS key-name 获取散列包含的所有键
HVALS HVALS key-name 获取散列包含的所有值
HGETALL HGETALL key-name 获取散列包含的所有键值对
HINCRBY HINCRBY key-name key increment 将键key存储的值加上整数increment
HINCRBYFLOAT HINCRBYFLOAT key-name key increment 将键key存储的值加上浮点数increment
有序集合:
ZADD ZADD key-name score member [score member ...] 将带有给定分值的成员添加到有序集合里面
ZRANGE ZRANGE key-name start stop [WITHSCORES] 返回有序集合中排名介于start和stop之间的成员,如果给定了可选的WITHSCORES选项,那么命令会将成员的分值也一并返回
ZRANGEBYSCORE ZRANGEBYSCORE key-name min max [WITHSCORES] [LIMIT offset count] 获取有序集合在给定分值范围内的所有元素
ZREM ZREM key-name member [member ...] 从有序集合里面移除给定的成员,并返回被移除成员的数量
ZCARD ZCARD key-name 返回有序集合包含的成员数量
ZINCRBY ZINCRBY key-name increment member 将member 成员的分值加上increment
ZCOUNT ZCOUNT key-name min max 返回分值介于min和max之间的成员数量
ZRANK ZRANK key-name member 返回成员member在有序集合中的排名
ZSCORE ZSCORE key-name member 返回成员member的分值
有序集合的范围数据获取命令和范围型数据删除命令,以及并集命令和交集命令:
ZREVRANK ZREVRANK key-name member 返回有序集合里成员member的排名,成员按照分值从大到小排列
ZREVRANGE ZREVRANGE key-name start stop [WITHSCORES] 返回有序集合给定排名范围内的成员,成员按照分值从大到小排列
ZRANGEBYSCORE ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 返回有序集合中,分值介于min和max之间的所有成员
ZREVRANGEBYSCORE ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] 获取有序集合中分值介于min和max之间的所有成员,并按照分值从大到小的顺序来返回它们
ZREMRANGEBYRANK ZREMRANGEBYRANK key-name start stop 移除有序集合中排名介于start和stop之间的所有成员
ZREMRANGEBYSCORE ZREMRANGEBYSCORE key-name min max 移除有序集合中分值介于min和max之间的所有成员
ZINTERSTORE ZINTERSTORE dest-key key-count key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM | MIN | MAX] 对给定的有序集合执行类似于集合的交集运算
ZUNIONSTORE ZUNIONSTORE dest-key key-count key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM | MIN | MAX] 对给定的有序集合执行类似于集合的并集运算
提供的发布与订阅命令:
SUBSCRIBE SUBSCRIBE channel [channel ...] 订阅给定的一个或多个频道
UNSUBSCRIBE UNSUBSCRIBE [channel [channel ...]] 退订给定的一个或多个频道,如果执行时没有给定任何频道,那么退订所有频道
PUBLISH PUBLISH channel message 向给定频道发送消息
PSUBSCRIBE PSUBSCRIBE pattern [pattern ...] 订阅与给定模式相匹配的所有频道
PUNSUBSCRIBE PUNSUBSCRIBE [pattern [pattern ...]] 退订给定的模式,如果执行时没有给定任何模式,那么退订所有模式
other:
SORT SORT source-key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE dest-key] 根据给定的选项,对输入列表、集合或者有序集合进行排序,然后返回或者存储排序的结果
处理过期时间的命令:
PERSIST PERSIST key-name 移除键的过期时间
TTL TTL key-name 查看给定键距离过期还有多少秒
EXPIRE EXPIRE key-name seconds 让给定键在指定的秒数之后过期
EXPIREAT EXPIREAT key-name timestamp 将给定键的过期时间设置为给定的unix时间戳
PTTL PTTL key-name 查看给定键距离过期时间还有多少毫秒,这个命令在redis 2.6 或以上版本可用
PEXPIRE PEXPIRE key-name milliseconds 让给定键在指定的毫秒数之后过期,这个命令在redis 2.6 或以上版本可用
PEXPIREAT PEXPIREAT key-name timestamp-milliseconds 将一个毫秒级精度的unix时间戳设置为给定键的过期时间,这个命令在redis 2.6或以上版本可用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话