基本keys操作命令:


1.SET (key value) : 设置一个key的value值

将key和value对应。如果key已经存在了,它会被覆盖,而不管它是什么类型。

返回值

状态码:总是OK,因为SET不会失败。


redis中获取map redis获取所有key和value命令_存储



2.GET (key) :获取key的值

返回key的value。如果key不存在,返回特殊值nil。如果key的value不是string,就返回错误,因为GET只处理string类型的values。

返回值

批量回复:key对应的value,或者nil(key不存在时)

redis中获取map redis获取所有key和value命令_字符串_02


 3.APPEND(key value) : 追加一个值到key上


如果 key 已经存在,并且值为字符串,那么这个命令会把 value 追加到原来值(value)的结尾。 如果key 不存在,那么它将首先创建一个空字符串的key,再执行追加操作,这种情况 APPEND 将类似于 SET 操作。

返回值

整数回复(Integer reply):返回append后字符串值(value)的长度。


redis中获取map redis获取所有key和value命令_整型_03


4.MSET(key value):设置多个key value


对应给定的keys到他们相应的values上。MSET会用新的value替换已经存在的value,就像普通的SET命令一样。如果你不想覆盖已经存在的values,请参看命令MSETNX。

返回值

状态码:总是OK,因为MSET不会失败。

redis中获取map redis获取所有key和value命令_存储_04


5.MSETNX(key value) : 设置多个key value,只有key不存在时才会执行

对应给定的keys到他们相应的values上。只要有一个key已经存在,MSETNX一个操作都不会执行。由于这种特性,MSETNX可以实现要么所有的操作都成功,要么一个都不执行,这样可以用来设置不同的key,来表示一个唯一的对象的不同字段。

返回值

数字,只有以下两种值:

  • 1 如果所有的key被set
  • 0 如果没有key被set(至少其中有一个key是存在的)

redis中获取map redis获取所有key和value命令_Redis_05



6.INCR( key ) :对key对应的数字做加1操作


对key对应的数字做加1操作。如果key不存在,那么在操作之前,这个key对应的值会被置为0。如果key有一个错误类型的value或者是一个不能表示成数字的字符串,就返回错误。这个操作最大支持在64位有符号的整型数字。

提醒:这是一个string操作,因为Redis没有专用的数字类型。key对应的string都被解释成10进制64位有符号的整型来执行这个操作。

Redis会用相应的整数表示方法存储整数,所以对于表示数字的字符串,没必要为了用字符串表示整型存储做额外开销。

返回值

整型数字:增加之后的value

redis中获取map redis获取所有key和value命令_整型_06



7.DECR(key) : 对key对应的数字做减1操作

对key对应的数字做减1操作。如果key不存在,那么在操作之前,这个key对应的值会被置为0。如果key有一个错误类型的value或者是一个不能表示成数字的字符串,就返回错误。这个操作最大支持在64位有符号的整型数字。

查看命令INCR了解关于增减操作的额外信息。

返回值

数字:减小之后的value




redis中获取map redis获取所有key和value命令_整型_07





8.DECRBY(keydecrement) : 将key对应的数字减去相应的值(decremen)

将key对应的数字减去相应的值(decremen)。如果key不存在,操作之前,key就会被置为0。如果key的value类型错误或者是个不能表示成数字的字符串,就返回错误。这个操作最多支持64位有符号的整型数字。

返回值

返回一个数字:减少之后的value值。


redis中获取map redis获取所有key和value命令_存储_08


9.INCRBYFLOAT (key increment): 将key对应的数字加上相应的值(increment)

版本2.6 +


10.GETSET(key value) :设置一个key的value,并获取设置前的值

自动将key对应到value并且返回原来key对应的value。如果key存在但是对应的value不是字符串,就返回错误。

设计模式

GETSET可以和INCR一起使用实现支持重置的计数功能。举个例子:每当有事件发生的时候,一段程序都会调用INCR给key mycounter加1,但是有时我们需要获取计数器的值,并且自动将其重置为0。这可以通过GETSET mycounter "0"来实现

redis中获取map redis获取所有key和value命令_重命名_09



11.DEL (key) : 删除一个key


如果删除的key不存在,则直接忽略。

返回值

整数:被删除的keys的数量

redis中获取map redis获取所有key和value命令_存储_10




12.EXISTS (key) :查询一个key是否存在


返回key是否存在。

返回值

整数:


  • 1 如果key存在
  • 0 如果key不存在

redis中获取map redis获取所有key和value命令_字符串_11



13.MGET (key/ [key ...]) :获得所有指定的key的value


返回所有指定的key的value。对于每个不对应string或者不存在的key,都返回特殊值nil。正因为此,这个操作从来不会失败。

返回值


多返回值: 指定的key对应的values的list

redis中获取map redis获取所有key和value命令_存储_12



14.RANDOMKEY 返回一个随机的key


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

返回值


批量回复:如果数据库没有任何key,返回nil,否则返回一个随机的key。


redis中获取map redis获取所有key和value命令_存储_13




15.RENAME(key newkey) :将一个key重命名


将key重命名为newkey,如果key与newkey相同,将返回一个错误。如果newkey已经存在,则值将被覆盖。

返回值

状态码:OK

redis中获取map redis获取所有key和value命令_Redis_14



16.RENAMENX(key newkey)重命名一个key,新的key必须是不存在的key


重命名一个key,新的key必须是不存在的key

返回值

整数回复:

  • 1 成功重命名.
  • 0 新的key已存在

redis中获取map redis获取所有key和value命令_重命名_15



17.STRLEN (key) :返回key的string类型value的长度



返回key的string类型value的长度。如果key对应的非string类型,就返回错误。

返回值

整型数字:key对应的字符串value的长度,或者0(key不存在)

redis中获取map redis获取所有key和value命令_存储_16


18.TYPE( key) :获取key的value的存储类型



返回值

状态码:key的类型

redis中获取map redis获取所有key和value命令_整型_17



19.SETEX (key seconds value)设置key对应字符串value,并且设置key在给定的seconds时间之后超时过期。




20.DBSIZE 返回当前数据库里面的keys数量



21.WATCH/UNWATCH(key [key ...]) 锁定/解锁key