Loading

redis常见命令

redis基本操作命令

查看当前数据库中key的数目:dbsize

语法:dbsize
作用:返回当前数据库的key的数量。
返回值:数字,key的数量。

切换库命令:select db

语法:select index
例如select 5是使用第六个数据库(库从0开始)。

删除当前数据库:flushdb

语法:flushdb

redis自带的客户端退出当前redis连接:exit或quit




redis的key的操作命令

keys

语法:keys pattern
作用:查找所有符合模式pattern的key, pattern可以使用通配符。
通配符:

  • *:表示0——多个字符,例如 keys *查询所有的key。
  • ?: 表示单个字符,例如:wo?d,匹配word,wood。

exists

语法:exists key[key...]
作用:判断key是否存在
返回值:整数,存在key返回1,其他返回0,使用多个key,返回存在的key的数量。

expire

语法:expire key seconds
作用:设置key的生存时间,超过事件,key自动删除。单位是秒。
返回值:设置成功返回数字1,其他情况是0.

ttl

语法:ttl key
作用:以秒伟单位,返回key剩余的生存时间。
返回值:

  • -1:没有设置key的生存时间,key永不过期。
  • -2:key不存在。
  • 数字:key的剩余时间,秒为单位。

type

语法:type key
作用:查看key所有存储值得数据类型
返回值:字符串表示得数据类型

  • none(key不存在)
  • string(字符串)
  • list(列表)
  • set(集合)
  • zset(有序集合)
  • hash(哈希表)

del

语法:del key[key...]
作用:删除存在的key,不存在得key忽略。
返回值:数字,删除得key的数量




redis数据类型操作命令

字符串类型(String)

set

将字符串value设置到key中。已经存在的key设置新的value,会覆盖原来的值。
语法:set key value

get

获取key中设置的字符串值
语法:get key

incr

将key中存储数字值加1,如果key不存在,则key的值先被初始化为0再执行incr操作(只能对数字类型的数据操作)。
语法incr key

decr

将key中存储的数字值减1,如果key不存在,则key的值先被初始化为0再执行decr操作(只能对数字类型的数据操作)。
语法:decr key

append

语法:append key value
说明:如果key存在,则将value追加到key原来旧值得末尾。
返回值:追加字符串之后得总长度。

strlen

语法:strlen key
说明:返回key所存储得字符串得长度
返回值:如果key存在,返回字符串值的长度;key不存在,返回0.

getrange

语法:getrange key start end
作用:获取key中字符串值从start开始到end结束的字符串,包括start和end,负数表示从字符串的末尾开始,-1表示最后一个字符。
返回值:截取的子字符串。

setrange

语法:setrange key offset value
说明:用value覆盖(替换)key的存储的值从offset开始,不存在的key做空白字符串。
返回值:修改后的字符串的长度

mset

语法:mset key value[key value...]
说明:同时设置一个或多个key-value对
返回值:OK

mget

语法:mget key[key...]
作用:获取所有给定key的值
返回值:包含多个key的列表



哈希类型hash

redis hash 是一个String类型的field和value的映射表,hash特别适合存储对象.

hset

语法:hset hash表的key field value
作用: 将哈希表key中的域field的值设为value,如果key不存在,则新建hash表,执行赋值,如果有field,则覆盖.
返回值:如果field是hash表中新field,则设置值成功,返回1;如果field已经存在,覆盖旧值,返回0;

hget

语法:hget key field
作用: 获取哈希表key中给定域的field的值.
返回值: field域的值,如果key或field不存在返回null

hmset

语法: hmset key field value [field value...]
说明: 同时将多个field-value设置到哈希表key中,此命令会覆盖已经存在的field,hash表key不存在,则创建空的hash表,执行hmset.
返回值: 设置成功返回OK,如果失败返回一个错误.

hmget

语法: hmget key field [field...]
作用: 获取哈希表key中一个或多个给定域的值.
返回值: 返回field顺序对应的值,如果field不存在,返回nil.

hgetall

语法: hgetall key
作用: 获取哈希表key中所有的域和值
返回值: 以列表形式返回hash中域和域的值,key不存在,返回空hash

hdel

语法: hdel key field [field....]
作用: 删除哈希表key中的一个或多个指定域field,不存在field直接忽略
返回值: 成功删除的field的数量.

hkeys

语法: hkeys key
作用: 查看哈希表key中的所有field域
返回值: 包含所有field的列表,key不存在返回空列表.

hvals

语法: hvals key
作用: 返回哈希表中所有域的值
返回值: 包含哈希表所有域值得列表i,key不存在返回空列表.

hexists

语法: hexists key field
作用: 查看哈希表key中,给定域field是否存在
返回值: 如果field存在,返回1,其他返回0



列表list

redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素在列表的头部或者尾部.

lpush

语法: lpush key value [value...]
作用: 将一个或多个值value插入到列表key的表头(最左边),从左边开始加入值,从左到右的顺序依次插入到表头.
返回值: 数字,新列表的长度.

rpush

语法: rpush key value [value...]
作用: 将一个或多个值value插入到列表的表尾(最右边),各个value值按从左到右的顺序依次插入到表尾.
返回值: 数字,新列表的长度

lrange

语法: lrange key start end
作用: 获取列表key中指定区间内的元素,0表示列表的第一个元素,-1表示列表的最后一个元素.[start,end],超出范围不会报错.
返回值: 指定区间的列表.

lindex

语法: lindex key index
作用: 获取列表key中下标指定index的元素,列表元素不删除,只是查询.0 代表第一个元素,-1代表最后一个元素.
返回值: 指定下标的元素;index不在列表范围,返回nil

llen

语法: llen key
作用: 获取列表key的长度

lrem

语法: lrem key count value
作用: 根据参数count的值,移除列表中参数value相等的元素,count>0,从列表的左侧向右开始移除;count<0从列表的尾部开始移除;count=0移除表中所有与value相等的值.
返回值: 数值,移除的元素个数

lset

语法: lset key index value
作用: 将列表key下标为index的元素的值设置为value
返回值: 设置成功返回OK;key不存在或index超出范围返回错误信息.

linsert

语法: linsert key BEFORE|AFTER pivot value
作用: 将值value插入到列表key当中位于值pivot之前或之后的位置.key不存在,pivot不在列表中,不执行任何操作
返回值: 命令执行成功,返回新列表的长度.没有找到pivot返回-1,key不存在返回0.



集合类型set

redis的set是string类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据.

sadd

语法: sadd key member [member...]
作用: 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略,不会再加入。
返回值:加入到集合的新元素的个数。不包括被忽略的元素。

smembers

语法: smembers key
作用:获取集合 key 中的所有成员元素,不存在的 key 视为空集合.

sismember

语法: sismember key member
作用:判断 member 元素是否是集合 key 的成员
返回值:member 是集合成员返回 1,其他返回 0 。

scard

语法: scard key
作用:获取集合里面的元素个数
返回值:数字,key 的元素个数。其他情况返回 0 。

srem

语法: srem key member [member...]
作用:删除集合 key 中的一个或多个 member 元素,不存在的元素被忽略。
返回值:数字,成功删除的元素个数,不包括被忽略的元素。

srandmember

语法: srandmember key [count]
作用:只提供 key,随机返回集合中一个元素,元素不删除,依然在集合中;提供了 count时,count 正数, 返回包含 count 个数元素的集合,集合元素各不相同。count 是负数,返回一个 count 绝对值的长度的集合,集合中元素可能会重复多次。
返回值:一个元素;多个元素的集合

spop

语法: spop key [count]
作用:随机从集合中删除一个元素, count 是删除的元素个数。
返回值:被删除的元素,key 不存在或空集合返回 nil



有序集合类型zset(sorted set)

redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中的成员进行从小到大的排序。

zadd

语法: zadd key score member [score member]
作用:将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果 member 存在集合中,则更新值;score 可以是整数或浮点数
返回值:数字,新添加的元素个数

zrange

语法: zrange key start stop [WITHSCORES]
作用:查询有序集合,指定区间的内的元素。集合成员按 score 值从小到大来排序。start,stop 都是从 0 开始。0 是第一个元素,1 是第二个元素,依次类推。以 -1 表示最后一个成员,-2 表示倒数第二个成员。WITHSCORES 选项让 score 和 value 一同返回。
返回值:自定区间的成员集合

zrevrange

语法: zrevrange key start stop
作用:返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小)来排列。其它同 zrange 命令。
返回值:自定区间的成员集合

zrem

语法: zrem key member [member...]
作用:删除有序集合 key 中的一个或多个成员,不存在的成员被忽略.
返回值:被成功删除的成员数量,不包括被忽略的成员。

zcard

语法: zcard key
作用:获取有序集 key 的元素成员的个数
返回值:key 存在返回集合元素的个数, key 不存在,返回 0

zrangebyscore

语法: zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
作用:获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括 min 和 max)的成员,有序成员是按递增(从小到大)排序。
min ,max 是包括在内,使用符号( 表示不包括。 min, max 可以使用 -inf ,+inf 表示最小和最大.limit 用来限制返回结果的数量和区间。

zrevrangebyscore

语法: zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
作用:返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列。其他同 zrangebyscore

zcount

语法: zcount key min max
作用:返回有序集 key 中,score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量

posted @ 2021-09-03 09:19  IamHzc  阅读(126)  评论(0编辑  收藏  举报