Redis命令

红色字体 :命令名
蓝色字体 :必要参数
[橙色字体] :可选参数

若想了解更多命令,可查看官方文档:https://redis.io/docs/latest/commands/

基本操作

命令描述
redis-server启动Redis
redis-cli
redis-cli -h 127.0.0.1 -p 6379 -a password
telnet 127.0.0.1 6379 (telnet)
连接到Redis
redis-cli --raw–raw参数以原始形式显示内容
s字符数据在redis是以二进制形式存储的,若存储的是中文,直接使用get命令查看到的是十六进制字符
quit/exit退出

key相关操作

select 用于切换数据库,Redis有16个数据库,索引为0到15,conf文件中可查看配置详情
切换到index为0的数据库:select 0
切换到index为4的数据库:select 4

命令描述
KEYS *
scan 0 match * count 100
查看当前数据库里的所有key
KEY a*查看a开头的key
EXISTS key_name [key_name2 key_name3 …]查看指定key是否存在(存在返回1,不存在返回0。若查看多个key,则返回对应的存在数量)
DBSIZE查看当前数据库key的数量
TYPE key_name查看key的值类型
DEL key_name [key_name2 key_name3 …]删除指定key(返回成功删除数)
FLUSHDB删除当前数据库的所有key(清空当前数据库)
FLUSHALL删除所有数据库中的key(清空所有数据库)
RENAME old_key_name new_key_name对key重命名
EXPIRE key_name second_num指定key过期时间,单位是秒,过期后自动删除
TTL key_name返回key过期时间(返回剩余时间(秒)。若返回-1,说明这个key永不过期;返回-2,说明key不存在)
MOVE key_name db_index将key移动到指定数据库(返回1,移动成功;返回0,移动失败)

字符串(String)

命令描述
SET key value设置键key的值为value
SETNX key value只有在键key不存在的情况下,将key的值设置为value
MSET key value [key2 value2 …]同时为多个键设置值
MSETNX key value [key2 value2 …]当所有给定的key都不存在时才同时为多个键设置值
只要有一个key已经存在,那么所有值都不会被继续设置
SETEX key seconds value将键key的值设置为value,并且超时时间为seconds秒
PSETEX key milliseconds value将键key的值设置为value,并且超时时间为milliseconds毫秒
GET key返回键key的值
MGET key [key2 …]返回给定的一个或多个键的值
GETSET key value将键key的值为value,并返回设置前的旧值。若没有旧值则返回nil
APPEND key value如果键key存在并且值是一个字符串,则把value追加到现有值的末尾
如果key不存在,则将key的值设置为value
返回追加value之后该value的长度
SETRANGE key offset value从偏移量offset开始用value字符串覆盖键key存储的原字符串。offset从0开始
返回修改后新的value字符串的长度
GETRANGE key start end
SUBSTR key start end
返回键key存储的字符串的从start到end之间(包括start和end)的部分
INCR/DECR key将键key存储的数字值value加一/减一
若key不存在则值先初始化为0再加一/减一
若key存储的值不能被解释为数字,则返回错误
INCRBY/DECRBY key increment/decrement将键key存储的数字值value加上/减去⼀个increment/decrement的量
若key不存在则值先初始化为0再加/减
若key存储的值不能被解释为数字,则返回错误
INCRBYFLOAT key increment将键key存储的浮点数值value加上⼀个increment的增量
若key不存在则值先初始化为0再执⾏加上增量的操作
若key存储的值或increment不能被解释为浮点数值,则返回错误
STRLEN key获取键为key的值的字符串⻓度

列表(List)

命令描述
LPUSH key element [element2 …]将一个或多个元素添加到列表key的表头(左侧),多个值则从左到右依次插入表头
如果列表key不存在,则创建一个然后执行LPUSH插入操作
如果列表key存在但不是列表类型,则返回错误
LPUSHX key element [element2 …]当且仅当key存在并且是一个列表的时候,才执行LPUSH操作
RPUSH key element [element2 …]将一个或多个元素添加到列表key的表尾(右侧),多个值则从左到右依次插入表尾
如果列表key不存在,则创建一个然后执行RPUSH插入操作
如果列表key存在但不是列表类型,则返回错误
RPUSHX key element [element2 …]当且仅当key存在并且是一个列表的时候,才执行RPUSH操作
LPOP key [count …]将一个或count个元素从列表头方向移除并将其返回
如果列表key不存在,则返回nil
RPOP key [count …]将一个或count个元素从列表尾方向移除并将其返回
如果列表key不存在,则返回nil
RPOPLPUSH source destination在一个原子时间内,将source列表的尾部元素弹出,并插入到destination列表的头部,返回该元素
如果列表key不存在,则返回nil
BLPOP key [key …] timeout列表阻塞式(Blocking)弹出。是LPOP的阻塞版本
当列表中没有任何元素时阻塞,直到超时或发现新的可弹出元素为
BRPOP key [key …] timeout列表阻塞式(Blocking)弹出。是RPOP的阻塞版本
当列表中没有任何元素时阻塞,直到超时或发现新的可弹出元素为
BRPOPLPUSH source destination timeout是RPOPLPUSH的阻塞版本
当列表source中没有任何元素时阻塞,直到超时或发现新的可弹出元素为止
LLEN key返回列表key的长度;如果key不存在则返回0;如果key不是列表类型则返回错误
LINDEX key index返回列表key中索引为index的元素
LINSERT key before/after pivot element将元素element插入到列表key中,位于pivot之前(before)或者之后(after)
LSET key index element将列表key中索引为index的元素设置为element
LREM key count element移除列表key中与element相等的count个元素,返回被移除的元素的数量
LTRIM key start stop只保留列表key中索引为start和stop之间的元素(包括start和stop)
LRANGE key start stop返回列表key中,位于start和stop之间的元素(包括start和stop)

哈希(Hash)

命令描述
HSET key field value [field value …]将哈希表key中的域field的值设置为value
HMSET key field value [field value …]设置多个key-value对(功能与HSET相同,已过时)
HSETNX key field value当且仅当field不存在的时候,将哈希表key中的域field的值设置为value
HINCRBY key field increment将哈希表key中field的值加上增量increment
HINCRBYFLOAT key field increment将哈希表key中field的值加上浮点数增量increment
HDEL key field [field …]删除哈希表key中的一个或多个指定域field
HSTRLEN key field返回哈希表key中,给定域field相关联的值的字符串长度
HLEN key返回哈希表key中域的数量
HKEYS key返回哈希表key中的所有域
HVALS key返回哈希表key中所有域的值
HGETALL key返回哈希表key中所有的域和值
HEXISTS key field判断给定域field是否存在于哈希表key中
HGET key field返回哈希表key中给定域field的值
HMGET key field [field …]返回哈希表key中⼀个或多个给定域field的值
HSCAN key cursor [MATCH pattern] [COUNT count]增量迭代,是⼀个基于游标的迭代器。类似的命令还有SCAN、SSCAN、ZSCAN

集合(Set)

命令描述
SADD key member [member …]将一个或多个元素加入到集合key中。已存在于集合中的元素将被忽略
SREM key member [member …]将一个或多个元素从集合key中移除。不存在的member元素将被忽略
SPOP key [count]移除并返回集合key中的一个或count个随机元素
SRANDMEMBER key [count]和SPOP类似,区别在于SRANDMEMBER只返回不移除
SMOVE source destination member将member元素从source集合移动到destination集合。(原子性操作)
SISMEMBER key member判断MEMBER是否是集合key的成员,是返回1,不是或key不存在返回0
SCARD key返回集合key的基数(集合中元素的数量)
SMEMBERS key返回集合key中的所有成员
SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]增量迭代,是一个基于游标的迭代器。类似的命令还有HSCAN、SSCAN、ZSCAN
SINTER key [key …]返回一个集合的全部成员,多个集合则返回交集
SINTERSTORE destination key [key …]类似SINTER,区别是SINTERSTORE会保存结果集到destination集合中,而不是单纯返回
若destination存在则将其覆盖,destination可以是key本身
SUNION key [key …]返回一个集合的全部成员,多个集合则返回并集
SUNIONSTORE destination key [key …]类似SUNION,区别是SUNIONSTORE会保存结果集到destination集合中,而不是单纯返回
若destination存在则将其覆盖,destination可以是key本身
SDIFF key [key …]返回一个集合的全部成员,多个集合则返回差集
SDIFFSTORE destination key [key …]类似SDIFF,区别是SDIFFSTORE会保存结果集到destination集合中,而不是单纯返回
若destination存在则将其覆盖,destination可以是key本身

有序集合(ZSet)

命令描述
ZADD key [NX/XX] [GT/LT] [CH] [INCR] score member [score member …]将一个或多个member元素及其分数score加入到有序集合key中
ZINCRBY key increment member为有序集合key的成员member的分数值score加上一个增量increment
ZREM key member [member …]将一个或多个成员从集合key中移除。不存在的member成员将被忽略
ZCARD key返回有序集合key的基数(集合中成员的数量)
ZSCORE key member返回有序集合key中的成员member的分数值(score)
ZCOUNT key min max返回有序集合key中,分数值score在min和max之间(包括)的成员的数量
ZRANK key member返回有序集合key中成员member的排名。(按照score从小到大排列)
ZREVRANK key member返回有序集合key中成员member的排名。(按照score从大到小排列)
ZRANGE key start stop [BYSCORE/BYLEX] [REV] [LIMIT offset count] [WITHSCORES]返回有序集合key中指定区间内的成员。(从小到大排列)
ZREVRANGE key start stop [WITHSCORES]返回有序集合key中指定区间内的成员。(从大到小排列)
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]返回有序集合key中所有score值在指定区间内的成员。(从小到大排列)
ZREVRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]返回有序集合key中所有score值在指定区间内的成员。(从大到小排列)
ZREMRANGEBYRANK key min max移除有序集合key中指定排名区间内的所有member
(按照score从小到大排列)
ZREMRANGEBYSCORE key min max移除有序集合key中指定分数区间内的所有member
(按照score从小到大排列)
ZREMRANGEBYLEX key min max移除有序集合key中指定字典序区间内的所有member
(按照字典序从小到大排列)
ZRANGEBYLEX key min max [LIMIT offset count]返回有序集合key中所有字典序在指定区间内的成员。(从大到小排列)
ZLEXCOUNT key min max返回有序集合key中指定字典序区间内的所有member的数量
ZUNIONSTORE destination numkeys key [key …]返回一个或多个有序集合的并集,并存储到destination中
ZINTERSTORE destination numkeys key [key …]返回一个或多个有序集合的交集,并存储到destination中
ZSCAN cursor [MATCH pattern] [COUNT count] [TYPE type]增量迭代,是一个基于游标的迭代器。类似的命令还有HSCAN、SSCAN、SCAN

流(Stream)

命令描述
XADD key *\id field value [field value …]向流追加一个新的消息,如果key不存在则创建
星号表示主键由系统设置,否则用输入的id作为主键
XREAD [COUNT count] [BLOCK milliseconds] streams key [key …] id [id …]读取和返回流key中比id大的消息,若没有则阻塞至消息可用
XLEN key返回流key中消息的数量
XRANGE key start end [COUNT count]返回流key中,id位于start和end之间的消息(包括start和end)
xrange key - + 返回流key中的所有消息,-和+表示负无穷和正无穷
XACK key group id [id …]返回流key中被消费者组group成功接收的消息数量
XCLAIM key group consumer min-idle-time id [id …]返回流key的信息
XDEL key id [id …]从流key中移除消息并返回移除消息的数量
XGROUP CREATE key groupname id/$ [MKSTREAM] [ENTRIESREAD entries_read]创建一个消费者组
XGROUP CREATECONSUMER key groupname consumername在消费者组groupname中创建一个消费者consumername
XGROUP DELCONSUMER key groupname consumername在消费者组groupname中删除一个消费者consumername
XGROUP DESTROY key groupname删除一个消费者组groupname
XGROUP SETID key groupname id/$ [ENTRIESREAD entries_read]设置一个消费者组groupname的最后交付id
XINFO CONSUMERS key groupname返回流消费者组groupname中的消费者列表
XINFO GROUPS key返回流key的消费者组列表
XINFO STREAM key [FULL [COUNT count]]返回流key的信息
XTRIM key MAXLEN/MINID [=/~] threshold [LIMIT count]从流的开头删除消息

地理空间(Geospatial)

命令描述
GEOADD key [NX\XX] [CH] longitude latitude member [longitude latitude member …]添加一个或者多个成员到地理空间中
GEODIST key member1 member2 [M\KM\FT\MI]返回两个成员的距离
GEOHASH key member [member …]以哈希字符串的形式返回成员的地理信息
GEOPOS key member [member …]返回一个或多个成员的位置经纬度信息
GEORADIUS key longitude latitude radius M\KM\FT\MI查询以位置信息(longitude,latitude)为中心,半径为radius范围内的成员,并返回
GEORADIUSBYMEMBER key member radius M\KM\FT\MI查询以位置信息member为中心,半径为radius范围内的成员,并返回
GEOSEARCH key FROMMEMBER member\FROMLONLAT longitude latitude BYRADIUS radius M\KM\FT\MI\BYBOX width height M\KM\FT\MI [ASC\DESC] [COUNT count [ANY]] [WITHCOORD] [WITHDIST] [WITHHASH]指定范围内搜索member并返回。可以按成员(FROMMEMBER),或按经纬度(FROMLONLAT),范围可以是圆形( BYRADIUS)或矩形(BYBOX)
GEOSEARCHSTORE destination source FROMMEMBER member\FROMLONLAT longitude latitude BYRADIUS radius M\KM\FT\MI\BYBOX width height M\KM\FT\MI [ASC\DESC] [COUNT count [ANY]] [STOREDIST]与GEOSEARCH相同,指定范围内搜索,并存储结果到destination

位图(Bitmap)

命令描述
SETBIT key offset value设置或者清除偏移量为offset的位
GETBIT key offset读取偏移量为offset的位的值
BITOP operation destkey key [key …]对一个或者多个key进行位逻辑运算,并将结果存储在destkey中
operation 可以为AND\OR\XOR\NOT
BITPOS key bit [start [end [BYTE\BIT]]]返回第一个bit位(0或者1)的位置
BITCOUNT key [start [end [BYTE\BIT]]]返回从start到end为止的所有设置位(bit为1的位)的数量

位域(Bitfield)

命令描述
BITFIELD key
[GET encoding offset \ [OVERFLOW WRAP\SAT\FAIL]
<SET encoding offset value\INCRBY encoding offset increment>
[GET encoding offset \ [OVERFLOW WRAP\SAT\FAIL]
<SET encoding offset value\INCRBY encoding offset increment> …]]
将一个String字符串类型当做一个bit数组,执行任意位域整数运算
BITFIELD_RO key [GET encoding offset [GET encoding offset …]]将一个String字符串类型当做一个bit数组,执行任意位域整数运算(只读)

HyperLogLog

命令描述
PFADD key [element [element …]]添加一个或者多个元素到HyperLogLog中。若key不存在则创建一个
PFCOUNT key [key …]返回一个key的近似的基数
PFMERGE destkey sourcekey [sourcekey …]将一个或多个sourcekey合并到destkey
PFDEBUG subcommand key用来调试HyperLogLog值的一个内部命令
  • 26
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值