当redis环境搭建结束后,接下来需要掌握并了解redis的一些相关命令,本篇文章主要从实际操作的层面来与大家分享redis基本命令,

具体包括:Redis五大基本类型命令(Strings,Lists,Hashes,Sets和Sort Sets)和Keys相关命令。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

一  Strings

1. SET

 SET 命令用于创建K/V,在创建K/V时,可以添加一些约束条件,如过期时间

 定义:SET key value[expiration EX seconds|PX milliseconds] [NX|XX]

  • EX seconds – 以秒为单位设置key过期时间
  • PX milliseconds – 以毫秒为单位设置key过期时间
  • NX – 如果key不存在,则设置key
  • XX – 如果key存在时,则设置key

详解Redis基本命令 随笔 第1张详解Redis基本命令 随笔 第2张

2.GET

GET命令用于通过key查询value

定义:GET key

详解Redis基本命令 随笔 第3张详解Redis基本命令 随笔 第4张

3.APPEND

APPEND命令用于追加内容,若key存在,则在该key的value后追加值;若key不存在,则先创建key,再添加value;

定义:APPEND key value

详解Redis基本命令 随笔 第5张详解Redis基本命令 随笔 第6张

4.BITCOUNT

计算value指定索引区间的为1的个数

定义:BITCOUNT key start end

详解Redis基本命令 随笔 第7张详解Redis基本命令 随笔 第8张

5.BITFIELD

6.BITTOP

进行value的位操作,且将结果保存在destkey中

定义:BITOP operation destkey key1 [key2 ..]

详解Redis基本命令 随笔 第9张详解Redis基本命令 随笔 第10张

7.BITP0S

命令返回字符串里面第一个被设置为1或者0的bit位

定义:BITPOS key bit start end

详解Redis基本命令 随笔 第11张详解Redis基本命令 随笔 第12张

8.DECR

DECR命令用于将可转化为int类型的key值减1,需要注意的是,当key值不可转化为数值时,会出错

定义:DECR

详解Redis基本命令 随笔 第13张详解Redis基本命令 随笔 第14张

8.DECRBY

DECRBY与DECR原理差不多,只不过DECRBY是减去多少。

定义:DECRBY key decrement

详解Redis基本命令 随笔 第15张详解Redis基本命令 随笔 第16张

9.GETBIT

获取key的value值在指定offset处的bit值

定义:GETBIT key offset

详解Redis基本命令 随笔 第17张详解Redis基本命令 随笔 第18张

10.GETRANGE

GETRANGE表示截取key相应位置的字符串

定义:GETRANGE key start end

详解Redis基本命令 随笔 第19张详解Redis基本命令 随笔 第20张

11.GETSET

设置key的value值,并返回设置前的值

定义:GETSET key value

详解Redis基本命令 随笔 第21张详解Redis基本命令 随笔 第22张

12.INC

自动加1

定义:INC key

详解Redis基本命令 随笔 第23张详解Redis基本命令 随笔 第24张

13.INCBY

在当前key值基础上增加值

定义:INCBY key increment

详解Redis基本命令 随笔 第25张详解Redis基本命令 随笔 第26张

14.INCRBYFLOAT\

在当前key值基础上增加浮点数

定义:INCRBYFLOAT key increment

详解Redis基本命令 随笔 第27张详解Redis基本命令 随笔 第28张

15.MGET

批量返回指定key和value

定义:MGET key [key..]

详解Redis基本命令 随笔 第29张详解Redis基本命令 随笔 第30张

16.MSET

批量设置多个key和value

定义:MSET key value [key value ..]

详解Redis基本命令 随笔 第31张详解Redis基本命令 随笔 第32张

17.MSETNX

在批量设置key时,单批量设置中,只要有一个key已经存在,则该批设置全部取消,由于这种特性,

MSETNX可以实现要么所有的操作都成功,要么一个都不执行,这样可以用来设置不同的key,来表示一

个唯一的对象的不同字段。

定义:MSETNX key value [key value ...]

详解Redis基本命令 随笔 第33张详解Redis基本命令 随笔 第34张

18.PSETEX

设置过期时间,以毫秒为单位

定义:PSETEX  key  miliseconds  value

详解Redis基本命令 随笔 第35张详解Redis基本命令 随笔 第36张

19.SETBIT

在key的value指定offset处设置bit值,并且返回offset处原来的bit值

定义:SETBIT key offset value

详解Redis基本命令 随笔 第37张详解Redis基本命令 随笔 第38张

20.SETEX

设置k/v同时,设置过期时间

定义:SETEX key seconds value

详解Redis基本命令 随笔 第39张详解Redis基本命令 随笔 第40张

21.SETNX

该命令与SET命令差不多,唯一区别是SETNX设置key时,若key不存在,则创建并添加value值,否则,不操作

定义:SETNX key value

详解Redis基本命令 随笔 第41张详解Redis基本命令 随笔 第42张

22.SETRANGE

从value值的offset处,用新value替换。

定义:SETRANGE key offeset value

详解Redis基本命令 随笔 第43张详解Redis基本命令 随笔 第44张

23.STRLEN

返回key的value的字符串长度

定义:STRLEN key

详解Redis基本命令 随笔 第45张详解Redis基本命令 随笔 第46张

二 Hashes

(一)概述

(二)命令操作

1.HSET

设置hash单个值

定义:HSET key filed value 

详解Redis基本命令 随笔 第47张详解Redis基本命令 随笔 第48张

2.HGET

获取hash字段值

定义:HGET key field 

详解Redis基本命令 随笔 第49张详解Redis基本命令 随笔 第50张

3.HDEL

删除key的指定字段

定义:HDEL key field

详解Redis基本命令 随笔 第51张详解Redis基本命令 随笔 第52张

4.HMSET

设置key的多个字段

定义:HMSET key value [key value ..]

详解Redis基本命令 随笔 第53张详解Redis基本命令 随笔 第54张

5.HMGET

获取key的多个字段值

定义:HMGET key field [field..]

详解Redis基本命令 随笔 第55张详解Redis基本命令 随笔 第56张

6.HGETALL

返回key指定哈希集中所有字段和值

定义:HGETALL key

详解Redis基本命令 随笔 第57张详解Redis基本命令 随笔 第58张

7.HEXISTS

检查key中是否存在指定的field,存在返回1,不存在返回0

定义:HEXISTS key field

详解Redis基本命令 随笔 第59张详解Redis基本命令 随笔 第60张

8.HKEYS

返回hashs的key的字段

定义:HKEYS key

详解Redis基本命令 随笔 第61张详解Redis基本命令 随笔 第62张

9.HVALS

返回 key 指定的哈希集中所有字段的值

定义:HVALS key

详解Redis基本命令 随笔 第63张详解Redis基本命令 随笔 第64张

10.HLEN

返回 key 指定的哈希集包含的字段的数量

定义:HLEN key

详解Redis基本命令 随笔 第65张详解Redis基本命令 随笔 第66张

11.HSTRLEN

返回key的指定字段的字符串长度

定义:HSTRLEN key field

详解Redis基本命令 随笔 第67张详解Redis基本命令 随笔 第68张

12.HINCRBY

指定字段增减指定值

定义:HINCRBY key field increment

详解Redis基本命令 随笔 第69张详解Redis基本命令 随笔 第70张

13.HINCRBYFLOAT

指定字段增加指定浮点数

定义:HINCRBYFLOAT key field increment

详解Redis基本命令 随笔 第71张详解Redis基本命令 随笔 第72张

11.HSCAN

12.HSETNX

与HSET功能一样,区别在于HSETNX会先判断field是否存在,若存在,则不做任何操作

定义:HSETNX key filed value

详解Redis基本命令 随笔 第73张详解Redis基本命令 随笔 第74张

三  Lists

1.RPUSH

从队列右端压入数据到List,一次可以压入单个或多个数据

定义:RPUSH key value [value ..]

详解Redis基本命令 随笔 第75张详解Redis基本命令 随笔 第76张

2.RPOP

从List移除元素,并返回被移除的元素

定义:RPOP key

详解Redis基本命令 随笔 第77张详解Redis基本命令 随笔 第78张

3.LPUSH

从List左侧压入元素,返回压入后的List长度

定义:LPUSH key value [value ..]

详解Redis基本命令 随笔 第79张详解Redis基本命令 随笔 第80张

4.LPOP

从List左侧移除元素,并返回被移除的元素

定义:LPOP key

详解Redis基本命令 随笔 第81张详解Redis基本命令 随笔 第82张

5.LLEN

返回key对应的List长度

定义:LLEN key

详解Redis基本命令 随笔 第83张详解Redis基本命令 随笔 第84张

6.LSET

设置key指定index处的值

定义:LSET key index value

详解Redis基本命令 随笔 第85张详解Redis基本命令 随笔 第86张

7.LINDEX

返回指定index处的value值

定义:LINDEX key index

详解Redis基本命令 随笔 第87张详解Redis基本命令 随笔 第88张

8.LINSERT

在List指定value前或后插入元素

定义:LINSERT key BEFORE|AFTER pivot value

详解Redis基本命令 随笔 第89张详解Redis基本命令 随笔 第90张

9.LREM

从头或从尾移除前count次出现value的值,count为正数,则从头向尾开始;count为负数,则从

尾向头开始;count为0,移除所有为value的值

定义:LREM key count value

详解Redis基本命令 随笔 第91张详解Redis基本命令 随笔 第92张

10.LTRIM

截取List指定区间的值

定义:LTRIM key start stop

详解Redis基本命令 随笔 第93张详解Redis基本命令 随笔 第94张

11.LRANGE

获取List指定索引区间的值

定义:LRANGE key start end

详解Redis基本命令 随笔 第95张详解Redis基本命令 随笔 第96张

12.LPUSHX

与LPUSH功能一样,都是插入从左侧插入元素,区别是,LPUSHX在插入元素

前,先判断key是否存在,只有key存在时,才插入元素。

定义:LPUSHX key value

详解Redis基本命令 随笔 第97张详解Redis基本命令 随笔 第98张

13.RPUSHX

功能与RPUSH一样,区别是RPUSHX在插入元素前,先判断key是否存在,

只有key存在时,才插入元素。

定义:RPUSHX key value

14.RPOPLPUSH

从指定key中移除元素,且将移除的元素存放在另一个key中,返回被移除和放入的元素

定义:RPOPLPUSH source destination

详解Redis基本命令 随笔 第99张详解Redis基本命令 随笔 第100张

15.BRPOPLPUSH

BRPOPLPUSH 是RPOPLPUSH的阻塞版本。 当 source 包含元素的时候,这个命令表现

得跟RPOPLPUSH一模一样。 当 source 是空的时候,Redis将会阻塞这个连接,直到

另一个客户端 push 元素进入或者达到 timeout 时限。 timeout 为 0 能用于无限期阻塞

客户端

定义:BRPOPLPUSH key source destination timeout

16.BLPOP

BLPOP是阻塞式列表的弹出原语

定义:BLPOP key [key ..] timeout

17.BRPOP

BRPOP是一个阻塞的列表弹出原语

定义:BRPOP key [key ..] timeout

四  Sets

1.SADD

向Sets中添加元素,一次可添加单个或多个

定义:SADD key member [member..]

详解Redis基本命令 随笔 第101张详解Redis基本命令 随笔 第102张

2.SMEMBERS

查看key所有元素

定义:SMEMBERS key

3.SCARD

返回key元素个数

定义:SCARD key

详解Redis基本命令 随笔 第103张详解Redis基本命令 随笔 第104张

4.SISMEMBER

判断key中是否存在某个元素,存在返回1,不存在返回0

定义:SISMEMBER key member

详解Redis基本命令 随笔 第105张详解Redis基本命令 随笔 第106张

5.SREM

定义:SREM key members [members ..]

详解Redis基本命令 随笔 第107张详解Redis基本命令 随笔 第108张

6.SMOVE

从指定key移除元素到目标元素,移除成功返回1,否则返回0

定义:SMOVE

详解Redis基本命令 随笔 第109张详解Redis基本命令 随笔 第110张

7.SPOP

从sets中随机取count个元素,返回随机取出的元素

定义:SPOP key [count]

详解Redis基本命令 随笔 第111张详解Redis基本命令 随笔 第112张

8.SRANDMEMBER

从sets中随机返回count个元素

定义:SRANDMEMBER 

详解Redis基本命令 随笔 第113张详解Redis基本命令 随笔 第114张

9.SDIFF

返回集合差集

定义:SDIFF  key [key ..]

详解Redis基本命令 随笔 第115张详解Redis基本命令 随笔 第116张

10.SDIFFSTORE

SDIFFSTORE命令与SDIFF命令功能一样,区别是SDIFFSTORE将差集的结果存放在destination中

定义:SDIFFSTORE destination key [key ..]

详解Redis基本命令 随笔 第117张详解Redis基本命令 随笔 第118张

11.SINTER

定义:SINTER key [key..]

详解Redis基本命令 随笔 第119张详解Redis基本命令 随笔 第120张

12.SINTERSTORE

SINTERSTORE功能与SINTER是一样的,都是返回差集,区别是SINTERSTORE将差集存在

destination中

定义:SINTERSTORE destination key [key..]

13.SUNION

SUNION返回并集

定义:SUNION key [key..]

详解Redis基本命令 随笔 第121张详解Redis基本命令 随笔 第122张

14.SUNIONSTORE

SUNIONSTORE功能与SUNION一样,都是返回并集,区别是SUNIONSTORE

将并集存放在destination中

定义:SUNIONSTORE destinaiton key [key..]

15.SCAN

五 Sorted Sets

1.ZADD

添加新值

定义:ZADD key [NX|XX] [CH] [INCR] score member [score member]

详解Redis基本命令 随笔 第123张详解Redis基本命令 随笔 第124张

2.ZRANGE

获取指定key的索引范围内的值,可只获取值或带权重的值。

定义:ZRANGE key start end [WIHTSCORES]

详解Redis基本命令 随笔 第125张详解Redis基本命令 随笔 第126张

3.ZSCORE

返回成员的score

定义:ZSCORE key member

详解Redis基本命令 随笔 第127张详解Redis基本命令 随笔 第128张

4.ZREM

从key中移除元素

定义:ZREM key member [member..]

详解Redis基本命令 随笔 第129张详解Redis基本命令 随笔 第130张

5.ZRANK

返回有序集key中membe排名

定义:ZRANK key member

详解Redis基本命令 随笔 第131张详解Redis基本命令 随笔 第132张

6.ZCOUNT

计算介于score范围内的元素个数

定义:ZCOUNT key min max

详解Redis基本命令 随笔 第133张详解Redis基本命令 随笔 第134张

7.ZCARD

返回key的有序集个数

定义:ZCARD key

详解Redis基本命令 随笔 第135张详解Redis基本命令 随笔 第136张

8.ZPOPMIN

从key中移除count个socre最低的元素

定义:ZPOPMIN key [count]

详解Redis基本命令 随笔 第137张详解Redis基本命令 随笔 第138张

9.ZPOPMAX

从key中移除count个socre最高的元素

定义:ZPOPMAX

详解Redis基本命令 随笔 第139张详解Redis基本命令 随笔 第140张

10.ZINCRY

为有序集key的成员member的score值加上增量increment,返回增量后的

score

定义:ZINCRY key increment member

详解Redis基本命令 随笔 第141张详解Redis基本命令 随笔 第142张

11.BZPOPMIN

功能与ZPOPMIN一样,区别是BZPOPMIN带有阻塞

定义:BZPOPMIN key [key..] timeout

12.BZPOPMAX

功能与ZPOPMAX一样,区别是BZPOPMAX带有阻塞

定义:BZPOPMAX key [key..] timeout

13.ZINTERSCORE

计算有序集合的交集,其中destination用来存放交集结果,mumkeys指用于计算交集key的个数

,weight表示计算交集时,score乘以的权重,默认为1

定义:ZINTERSCORE destination mumkeys key [key..] [weights weight] [SUM|MIN|MAX]

详解Redis基本命令 随笔 第143张详解Redis基本命令 随笔 第144张

14.ZUNIONSTORE

用法与ZINTERSCORE一样,只不过是计算有序集合的并集

定义:ZUNIONSTORE destination mumkeys key [key..] [weights weight] [SUM|MIN|MAX]

15.ZLEXCOUNT

ZLEXCOUNT 命令用于计算有序集合中指定成员之间的成员数量

定义:ZLEXCOUNT key min max

16.ZRANGEBYLEX

ZRANGEBYLEX 返回指定成员区间内的成员,按成员字典正序排序, 分数必须相同

定义:ZRANGEBYLEX key min max [limit offset count]

详解Redis基本命令 随笔 第145张详解Redis基本命令 随笔 第146张

17.ZRANGBYSCORE

根据分数方位查找元素

定义:ZRANGBYSCORE key min max [withscores] [limit offset count]

详解Redis基本命令 随笔 第147张详解Redis基本命令 随笔 第148张

18.ZREMRANGEBYRANK

移除有序集key中,指定排名(rank)区间内的所有成员

定义:ZREMRANGEBYRANK key start stop

详解Redis基本命令 随笔 第149张详解Redis基本命令 随笔 第150张

19.ZREMRANGBYSCORE

移除有序集key中,所有score值介于min和max之间(包括等于min或max)的成员

定义:ZREMRANGBYSCORE key min max

详解Redis基本命令 随笔 第151张详解Redis基本命令 随笔 第152张

20.ZREVRANGE

返回有序集key中,指定区间内的成员。其中成员的位置按score值递减(从大到小)来排列。

具有相同score值的成员按字典序的反序排列。 除了成员按score值递减的次序排列这一点外

定义:ZREVRANGE key start stop [withscores]

详解Redis基本命令 随笔 第153张详解Redis基本命令 随笔 第154张

21.ZREVRANGEBYLEX

ZREVRANGEBYLEX 返回指定成员区间内的成员,按成员字典倒序排序, 分数必须相同

定义:ZREVRANGEBYLEX key min max

详解Redis基本命令 随笔 第155张详解Redis基本命令 随笔 第156张

22.ZREVRANGEBYSCORE

返回有序集合中指定分数区间内的成员,分数由高到低排序

定义:ZREVRANGEBYSCORE key min max

详解Redis基本命令 随笔 第157张详解Redis基本命令 随笔 第158张

23.ZREVRANK

返回有序集key中成员member的排名,其中有序集成员按score值从大到小排列。

排名以0为底,也就是说,score值最大的成员排名为0

定义:ZREVRANK key member

详解Redis基本命令 随笔 第159张详解Redis基本命令 随笔 第160张

24.ZSCAN

定义:ZSCAN key cursor [math pattern] [count count]

六 Keys

1.DEL

删除key

定义:DEL key [key...]

详解Redis基本命令 随笔 第161张详解Redis基本命令 随笔 第162张

2.DUMP

序列化key

定义:DUMP key

详解Redis基本命令 随笔 第163张详解Redis基本命令 随笔 第164张

3.RESTORE

反序列化

定义:RESTORE key ttl serialeze-value [replace]

详解Redis基本命令 随笔 第165张详解Redis基本命令 随笔 第166张

4.EXISTS

判断key是否存在,存在返回1,不存在返回0

定义:EXISTS key

详解Redis基本命令 随笔 第167张详解Redis基本命令 随笔 第168张

5.EXPIRE

设置过期时间,以秒为单位

定义:EXPIRE seconds

详解Redis基本命令 随笔 第169张详解Redis基本命令 随笔 第170张

6.EXPIREAT

EXPIREAT的作用和EXPIRE类似,都用于为 key 设置生存时间。

不同在于EXPIREAT命令接受的时间参数是 UNIX 时间戳 Unix timestamp

定义:EXPIREAT key timespan

详解Redis基本命令 随笔 第171张详解Redis基本命令 随笔 第172张

7.KEYS

查看key,其中pattern满足正则表达式

定义:KEYS pattern

详解Redis基本命令 随笔 第173张详解Redis基本命令 随笔 第174张

8.MIGRATE

定义:MIGRATE host port key destination-db timeout [copy] [replace]

9.MOVE

Redis MOVE 命令用于将当前数据库的 key 移动到给定的数据库 db 当中

定义:MOVE key db

详解Redis基本命令 随笔 第175张详解Redis基本命令 随笔 第176张

10.OBJECT

OBJECT 命令可以在内部调试(debugging)给出keys的内部对象,它用于检查或者了

解你的keys是否用到了特殊编码 的数据类型来存储空间z。 当redis作为缓存使用的时候,

你的应用也可能用到这些由OBJECT命令提供的信息来决定应用层的key的驱逐策略(eviction policies)

定义:OBJECT subcommand [arguments [arguments..]]

11.PERSIST

持久化key

定义:PERSIST key

详解Redis基本命令 随笔 第177张详解Redis基本命令 随笔 第178张

12.PEXPIRE

它以毫秒为单位设置 key 的生存时间

定义:PEXPIRE key milliseconds

13.PEXPIREAT

以毫秒为单位设置 key 的过期 unix 时间戳

定义:PEXPIREAT key milliseconds-timestamp

14.PTTL

以毫秒为单位返回 key 的剩余生存时间,功能与TTL差不多

定义:PTTL key

15.RANDOMKEY

从当前数据库随机返回一个key

定义:RANDOMKEY

详解Redis基本命令 随笔 第179张详解Redis基本命令 随笔 第180张

16.RENAME

给key重新命名

定义:RENAME key newkey

17.RENAMENX

当且仅当 newkey 不存在时,将 key 改名为 newkey ,成功返回1,失败返回0

定义:RENAMENX key newkey

详解Redis基本命令 随笔 第181张详解Redis基本命令 随笔 第182张

18.SCAN

增量迭代集合元素

定义:SCAN  cursor [match pattern] [count count]

19.SORT

排序

定义:SORT key [by pattern] [limit offset count] [get pattern] [asc|desc] [alpha] destination

20.TOUCH

修改key最后访问时间

定义:TOUCH key [key..]

详解Redis基本命令 随笔 第183张详解Redis基本命令 随笔 第184张

21.TTL

计算key过期剩余时间,返回剩余的秒数

定义:TTL key

22.TYPE

返回key类型

定义:TYPE key

详解Redis基本命令 随笔 第185张详解Redis基本命令 随笔 第186张

23.UNLINK

异步删除keys

定义:UNLINK key [key..]

详解Redis基本命令 随笔 第187张详解Redis基本命令 随笔 第188张

24.WAIT

当前连接的写操作会产生日志偏移,该命令会返回已处理至该偏移量的slaves的个数

定义:WAIT numslavess timeout

七  版权区

  •    转载博客,必须注明博客出处
  •    博主网址:http://www.cnblogs.com/wangjiming/
  •    如您有新想法,欢迎提出,邮箱:2098469527@qq.com
  •   专业.NET之家技术QQ群:490539956
  •   专业化Java之家QQ群:924412846
  •   有问必答QQ群:2098469527
  •   一对一技术辅导QQ:2098469527

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄