Redis常用命令

1Redis的常用操作命令

1.1Redis的key操作命令

1.1.1Keys

返回符合patten的key,可使用通配符

?:匹配一位

*:匹配多位

a[bc]:匹配ab及ac

keys *

keys a[bc]

1.1.2exists

返回成功匹配key的个数,不存在返回0,存在返回1或n

exists k1

exists k1 k2 k3

1.1.3move

将此库实例的key移动到其他的库

举例:将0库实例的值移动到1库(默认打开redis在0库)

成功返回1,失败返回0

move k1 1

成功后切换到1库可查询值

select 1

1.1.4ttl

查看key的剩余生命时间,以秒为单位

返回类型值有三种:

默认为-1,开启为剩余秒数 ,过期后不存在为2

ttl k1

1.1.5expire

设置key的生命时间,单位为秒

expier k1 20

1.1.6type

查看key数据类型

类型:string list set zset hset none

type k1

1.1.7rename

设置key重命名,若newname与库中重复,value覆盖

rename k1 oldname newname

1.1.8del

删除key及其value

返回值为删除的key数量

del k1

1.2字符串类型String

1.2.1set

将value赋值到key,若key相同,value覆盖

成功返回ok

set k1 v1

1.2.2get

返回key对应的value,若不存在返回nil

get k1

1.2.3append

如果key存在,追加原value

如果key不存在,新建value

返回value的长度

append k1 v1

1.2.4strlen

返回key对应value长度,若不存在返回0

strlen k1

1.2.5incr

返回key中储存value数字+1,若key不存在,初始value为0后完成+1

incr k1

1.2.6decr

返回key中储存value数字-1,若key不存在,初始value为0后完成-1

1.2.7decrby

key对应的value减去减量值,若key不存在,初始value为0,再减去减量

decrby k1 50

1.2.8incrby

key对应的value加上增量,若key不存在,初始value为0,再加上增量

incrby k2 50

1.2.9getrange

获取key对应value的子串值,起始为0,末尾为-1

gertange startIndex endIndex

1.2.10setrange

将key对应value的一段子串覆盖,起始坐标offset

name:zhangsan==>liungsan

setrange name 0 liu

1.2.11setex

设置key,value的同时设置生命时间

返回值为ok

setex k1 20 v1

1.2.12setnx

意为set if not exists

如果key存在则不设置value

反之不存在才设置value

1.2.13mset

设置一组或多组kv,成功返回ok

mset k1 v1 k2 v2 k3 v3

1.2.14mget

获取一组或多组value,不存在为nil

mget k1 k2 k3

1.2.15msetnx

设置一组或多组kv,如果有一组key重复,语句失败

返回值:成功1,失败0

msetnx k1 v1 k2 v2

1.3列表类型List

1.3.1lpush

将一个或多个值 value 依次插入到列表 key 的最左边

返回值:插入之后的列表的长度。

lpush list 1 2 3 4

插入后list:4 3 2 1

1.3.2rpush

将一个或多个值 value 依次插入到列表 key 的最右边

返回值:插入之后的列表的长度。

lpush list 1 2 3 4

插入后list:1 2 3 4

1.3.3lrange

获取指定下标区间的元素,下标0开始,-1为倒数第一

返回获取的列表

lrange list startInsex endIndex

1.3.4lpop

移除并返回列表key头部(左1)第一个元素,

返回值左侧第一个元素的值,不存在,返回nil。

lpop list

1.3.5rpop

移除并返回列表key尾部(尾1)第一个元素,

返回值右侧第一个元素的值,不存在,返回nil。

rpop list

1.3.6lindex

获取列key 下标为指定 index 的元素,列表元素不删只查

返回值为对应下标的值,不存在时,返回nil。

lindex list 6

1.3.7llen

获取列表第index元素的长度

返回长度,不存在返回0

llen list index

1.3.8lrem

根据参数count,A,移除列表中与参数A相等的元素

移出元素个数为count

A > 0 左侧向右移除;

A < 0 尾部开始移除;

A = 0 移除所有与 value 相等的值。

返回值:移除的元素个数

lrem list count A

1.3.9ltrim

截取下标区间的元素,并且赋值给原list。下标从0开始,末尾为-1,startIndex和endIndex超出范围不会报错。

执行成功返回ok

ltrim key startIndex endIndex

1.3.10lset

将列表下标为 index 的元素的值设置为 value。

成功返回ok,list不存在或者index超范围返回错误信息。

lset list index value

1.3.11llinsert

将值 val插入到列表元素值 pivot 之前或后的位置

​ key或pivot不存在列表中,不执行

​ 执行成功,返回新的list长度,

​ 没找到pivot返回 -1, key不存在返回0。

1.4集合类型Set

1.4.1sadd

语法:sadd key member [member…]

将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略,不会再加入。

返回值:加入到集合的新元素的个数(不包括被忽略的元素)。

1.4.2smembers

语法:smembers key

功能:获取集合 key 中的所有成员元素,不存在的key视为空集合。

返回值:返回指定集合的所有元素集合,不存在的key,返回空集合。

1.4.3sismember

语法:sismember key member

功能:判断 member 元素是否是集合 key 的元素

返回值:member是集合成员返回1,其他返回 0 。

1.4.4scard

语法:scard key

功能:获取集合里面的元素个数

返回值:数字,key的元素个数。其他情况返回 0 。

1.4.5srem

语法:srem key member [member…]

功能:移除集合中一个或多个元素,不存在的元素被忽略。

返回值:数字,成功移除的元素个数,不包括被忽略的元素。

1.4.6srandmember

语法:srandmember set[count]

功能:随机返回集合,元素不删,仍在原集合中;

​ count>0 返回count个不重复元素的集合

​ count<0 返回count个可能有重复元素的集合

返回值:一个元素或者多个元素的集合

1.4.7spop

语法:spop key[count]

功能:随机从集合中删除一个或count个元素。

返回值:被删除的元素,key不存在或空集合返回nil

1.4.8smove

语法:smove src dest member

功能: 将 member 元素从src集合移动到dest集合, member不存在,smove不执行操作,返回0,

如果dest存在member,则仅从src中删除member。

返回值:成功返回 1 ,其他返回 0 。

1.4.9sdiff

语法:sdiff key key [key…]

功能:返回指定集合的差集,以第一个集合为准

1.4.10sinter

语法:sinter key key [key…]

功能:指定的所有集合中都有的元素组成的集合。

1.4.11sunion

语法:sunion key key [key…]

功能:返回并集,即指定的所有集合元素组成的大集合,如果元素有重复,则保留一个。

1.5哈希类型Hash

1.5.1hset

语法:hset key field value [field value …]

功能:将键值对field-value设置到哈希列表key中,如果key不存在,则新建哈希列表,然后执行赋值,如果key下的field已经存在,则value值覆盖。

返回值:返回设置成功的键值对个数。

1.5.2hget

语法:hget key field

功能:获取哈希表 key 中给定域 field 的值。

返回值:field域的值,如果key不存在或者field不存在返回nil。

1.5.3hmset

语法:hmset key field value [field value…]

功能:同时将多个 field-value (域-值)设置到哈希表 key 中,此命令会覆盖已经存在的field,hash表key不存在,创建空的hash表,再执行hmset.

返回值:设置成功返回ok,如果失败返回一个错误。

1.5.4hmget

语法:hmget key field [field…]

功能:获取哈希表 key 中一个或多个给定域的值

返回值:返回和field顺序对应的值,如果field不存在,返回nil。

1.5.5hgrtall

语法:hgetall key

功能:获取哈希表 key 中所有的域和值

返回值:以列表形式返回hash中域和域的值,key不存在,返回空hash.

1.5.6hdel

语法:hdel key field [field…]

功能:删除哈希表 key 中的一个或多个指定域field,不存在field直接忽略。

返回值:成功删除的field的数量。

1.5.7hlen

语法:hlen key

功能:获取哈希表 key 中域field的个数

返回值:数值,field的个数。key不存在返回0.

1.5.8hexits

语法:hexists key field

功能:查看哈希表 key 中,给定域 field 是否存在

返回值:如果field存在,返回1,其他返回0。

1.5.9hkeys

语法:hkeys key

功能:查看哈希表 key 中的所有field域列表

返回值:包含所有field的列表,key不存在返回空列表

1.5.10hvals

语法:hvals key

功能:返回哈希表 中所有域的值列表

返回值:包含哈希表所有域值的列表,key不存在返回空列表。

1.5.11hincrby

语法:hincrby key field int

功能:给哈希表key中的field域增加int

返回值:返回增加之后的field域的值

1.5.12hincrbyfloat

语法:hincrbyfloat key field float

功能:给哈希表key中的field域增加float

返回值:返回增加之后的field域的值

1.5.13hsetnx

语法:hsetnx key field value

功能:将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在的时候才设置,否则不设置。

返回值:设值成功返回1,其他返回0.

1.6有序集合类型

1.6.1zadd

语法:zadd key score member [score member…]

功能:将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果member存在集合中,则覆盖原来的值;score可以是整数或浮点数.

返回值:数字,新添加的元素个数.

1.6.2zrange

语法:zrange key startIndex endIndex [WITHSCORES]

功能:查询有序集合,指定区间的内的元素。集合成员按score值从小到大来排序;startIndex和endIndex都是从0开始表示第一个元素,1表示第二个元素,以此类推; startIndex和endIndex都可以取负数,表示从后往前取,-1表示倒数第一个元素;WITHSCORES选项让score和value一同返回。

返回值:指定区间的成员组成的集合。

1.6.3zrangebyscore

语法:zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]

功能:获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括min和max)的成员,有序成员是按递增(从小到大)排序;

​ 使用符号”(“ 表示包括min但不包括max;

​ withscores 显示score和 value;

​ limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个。

返回值:指定区间的集合数据

1.6.4zrem

语法:zrem key member [member…]

功能:删除有序集合 key 中的一个或多个成员,不存在的成员被忽略。

返回值:被成功删除的成员数量,不包括被忽略的成员。

1.6.5zcard

语法:zcard key

作用:获取有序集 key 的元素成员的个数。

返回值:key存在,返回集合元素的个数; key不存在,返回0。

1.6.6zcount

语法:zcount key min max

功能:返回有序集 key 中, score 值在 min 和 max 之间(包括 score 值等于 min 或 max )的成员的数量。

返回值:指定有序集合中分数在指定区间内的元素数量。

1.6.7zrank

语法:zrank key member

功能:获取有序集 key 中成员 member 的排名,有序集成员按 score 值从小到大顺序排列,从0开始排名,score最小的是0 。

返回值:指定元素在有序集合中的排名;如果指定元素不存在,返回nil。

1.6.8zsource

语法:zscore key member

功能:获取有序集合key中元素member的分数。

返回值:返回指定有序集合元素的分数。

1.6.9zrevrank

语法:zrevrank key member

功能:获取有序集 key 中成员 member 的排名,有序集成员按 score 值从大到小顺序排列,从0开始排名,score最大的是0 。

返回值:指定元素在有序集合中的排名;如果指定元素不存在,返回nil。

1.6.10zrevrange

语法:zrevrange key startIndex endIndex [WITHSCORES]

功能:查询有序集合,指定区间的内的元素。集合成员按score值从大到小来排序;startIndex和endIndex都是从0开始表示第一个元素,1表示第二个元素,以此类推; startIndex和endIndex都可以取负数,表示从后往前取,-1表示倒数第一个元素;WITHSCORES选项让score和value一同返回。

返回值:指定区间的成员组成的集合。

1.6.11zrevrangebysource

语法:zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count]

功能:获取有序集 key 中,所有 score 值介于 max 和 min 之间(包括max和min)的成员,有序成员是按递减(从大到小)排序;

​ 使用符号”(“ 表示不包括min和max;

​ withscores 显示score和 value;

​ limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个。

返回值:指定区间的集合数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值