redis的基本命令

2021年11月23日 阅读数:3
这篇文章主要向大家介绍redis的基本命令,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

字符串:redis

set key value  app

将字符串key关联到value里面  若是key持有其余值则覆盖 返回结果 (在redis2.6.12版本以前set命令返回老是ok)  返回值:成功返回ok  失败返回null   (EX seconds  将键的过时时间设置为 seconds 秒 )spa

setnx key  seconds value  code

在键key不存在的状况下,设置value ,生成时间为seconds秒 若是存在不作操做.  返回值:成功返回1 失败返回0 rem

setex key seconds value字符串

将key值设置为value,生存时间为seconds秒 若是存在则覆盖 . 返回值:成功返回ok 错误返回error信息.(这条命令和set命令,expier key scends设置生存时间类似,其不一样之处在于setex是原子操做能够设置值并设置过时时间同一时间完成)get

psetex key millseconds value 字符串处理

和setex命令类似区别在于设置的事毫秒值hash

get key it

获取字符串的key的值 返回值: 成功返回字符串 失败返回nil 

getset key value

将key的值设置为value,并返回key未被设置以前的值  返回值:成功key的旧值 若是key没有旧值的时候,也就是说以前key不存在则返回nil .若是key存在不是字符串时返回错误信息

strlen key

返回key的字符串长度 返回值:成功integer 若是key不存在返回0 ,key不是字符串时返回一个错误信息

append key value 

若是key存在且为字符串追加到末尾,不存在设置key值为value. 返回值:追加后的key值的长度.

setrange key offset value 

从偏移量开始覆盖指定长度的字符串.若是不存在当作空白字符串处理  返回值:被修改后的字符长度

getrange key start end

截取key的字符串,从偏移量start开始到end结束(包括start和end (-1表示最后一个,-2倒数第二个))

incr key 

为key存储的数值加一.

若是key不存在,那么它的值会先被初始化为0. 若是key的值不能被转为数字则返回一条错误信息(64位有符号数字) 返回值 成功返回ok

incrby key increment 

为key存储的数值加增量increment . 若是key不存在,会被初始化为0,后在增长increment. 若是key的值不能被转化为数字则返回一条错误信息 返回值 成功返回ok

incrbyfloat key increment 

为key存储的数值增长浮点的increment (状况同上) 返回值 返回增长后的浮点数

desc key 

为key存储的数字值减一(状况同上) 返回值 成功返回 ok

descby key increment

将key存储的数字减去increment (状况同上) 返回值 成功返回ok

mset key value key value.....

同时为多个键值设置 若是某个给定的键已经存在则覆盖 若是不想覆盖可使用 msetnx  (操做具备原子性)  返回值:不管什么状况老是ok(msetnx若是有不覆盖的值 会失败 返回 0 成功返回1)

mget key 

返回一个或多个字符串返回键的值.若是某个key不存在则返回nil

哈希表:

hset hash field value

将hash中的域field值设置为value,若是hash中的值不存在则建立个新的并执行hash .若是存在覆盖旧值.返回值:不存在设置返回1 覆盖返回0 

hsetnx hash field value

 

域field存在不执行,不存在设置value. 返回值 不存在:1 存在返回0

hget hash field

返回hash给定的域值,若是不存在返回nil

hexists hash field

检测给定的域值field是否存在于hash表中 存在返回1 不存在返回0

hdel  key field field2.....

删除哈希表key中一个和多个指定的域,不存在的域将被忽略  返回值:被成功移除的数量,不包含被忽略的域

hlen key

返回哈希表key中域的数量 当key不存在是返回0

hstrlen key field

返回哈希表key中给定的域的相关的字符串长度. key不存在返回0

hincrby key field increment

为哈希key的域值field增长增量increment 增量能够为负数至关于减法, 若是key不存在新建,若是field不存在初始化0 .返回值: 返回增量后的值

hincrbyfloat key field increment

(浮点数操做同上) 返回值:增量后的值

hmset key field value field value .....

同时将多个field value值设置到哈希表key中,此命令会覆盖哈希表中存在的域. 返回值:成功ok 失败返回个错误.

hmget key field field.....

返回哈希表中key的多个域值 若是某个域值不存在则返回nil 返回值:一个或多个给定域的关联值的表.

hkeys key 

返回哈希表key中全部的域 当key不存在时返回一个空表

hvals key

返回哈希表key中全部的域值 当key不存在时返回一个空表

hgetall key

返回哈希表key中全部的域和值 当key不存在时返回一个空表

hscan key cursor pattern count

哈希分页

列表

lpush key value value....

将一个或多个value的值插入到列表key的表头,多个value的值依次从左到右插入到表头.好比:给空表头mylist执行 lpush mylist a b c .列表的值将会是c b a .这等同于原子性的执行. key不存在建立,存在不是列表类型则返回一个错误信息. 返回值:返回执行列表后的长度

lpushx key value

将vlaue插入到key的表头,key必须存在且是一个列表 .若是不存在lpushx 什么命令都不作  返回值:返回插入以后列表的长度.

rpush key value value....

将一个或多个value插入key的表尾(从左到右插入到最右边)好比一个空的列表mylist 执行rpush mylist abc 列表值会是 a b c 返回值和错误信息同上

rpushx key value 

将value插入到key的表尾 key必须存在且是一个列表 .若是不存在lpushx 什么命令都不作  返回值:返回插入以后列表的长度.

lpop key

移除并返回列表key的头元素,列表key不存在时返回nil

rpop key

移除并返回列表key的尾元素,列表key不存在事返回nil