2Redis的常用命令

Posted *King*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2Redis的常用命令相关的知识,希望对你有一定的参考价值。

一、Redis的全局命令操作

1、查看所有键

keys *
-- 也可以模糊搜索查询,但一般不推存
keys s*

2、查看键总数

dbsize

3、检查键是否存在

exists key

4、删除键,返回删除的条数

del key

5、键过期

返回剩余的过期时间:-1表示没有设置过期,-2表示已过期,正数表示还剩余的过期时间(秒)

expire key seconds
-- 设置时间戳以后过期
expireat key 时间戳
-- 查看还剩多久过期
ttl key

6、查看键的数据结构类型

type key

7、键重命名

如果newkey存在,则会强制覆盖

rename oldkey newkey

二、Redis常用的五种数据结构操作

字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(ZSET)

字符串

1、设置值

set key value
-- key必须不存在,才能设置成功,用于添加
setnx key value
-- key必须存在,才能设置成功,用于更新
set key value xx
--批量设置
mset key1 value1 key2 value2
例:
set age 23 ex 10
setnx name test
set age 25 xx

set命令有几个选项:

  • ex seconds:为键设置秒级过期时间。

  • px milliseconds:为键设置毫秒级过期时间。

  • nx:键必须不存在,才可以设置成功,用于添加。

  • xx:与nx相反,键必须存在,才可以设置成功,用于更新。

set key value ex seconds

2、获取值

get key
--批量获取
mget key1 key2
例:
批量设值:mset country china city beijing
批量获取:mget country city address

3、lncr数字运算

lncr命令用于对值做自增操作,返回结果分为三种情况:

  • 值不是整数,返回错误
  • 值是整数,返回自增后的结果
  • 键不存在,按照值为0自增,返回结果为1
-- 自增
incr key
-- 自减
decr key
-- 自增指定数字
incrby 数字 key
-- 自减指定数字
decrby 数字 key
-- 自增浮点数
incrbyfloat 数字 key
例:
incr age       //必须为整数自加1,非整数返回错误,无age键从0自增返回1
decr age      //整数age减1
incrby age 2 //整数age+2
decrby age 2//整数age -2
incrbyfloat score 1.1 //浮点型score+1.1

4、append追加指令

append key 追加的字符串
例:
set name hello
append name world //追加后成helloworld

5、strlen字符串长度,返回字符串长度

strlen key
例:
 set hello “世界”
 strlen hello

6、getset设置并返回原值

getset和set一样会设置值,但是不同的是,它同时会返回键原来的值

getset key value

7、setrange设置指定位置的字符,下标从0开始计算

setrange key 下标 设置的值

8、getrange截取字符串

getrange截取字符串中的一部分,形成一个子串,需要指明开始和结束的偏移量,截取的范围 是个闭区间

getrange key 开始下标  结束下标
例:
 set name helloworld ; getrange name 2 4//返回 llo

哈希

idnameage
1xiaoming18
-- 用String设置值(命令空间防止键名冲突:业务名:对象名:id:属性)
set user:1:name xiaoming
set user:1:age 18
-- 用Hash设置值
hmset user:1 name xiaoming age 18

哈希是一个string类型的field和value的映射表,hash特适合用于存储对象

 命令  hset key field value
   设值:hset user:1 name xiaoming
   取值:hget user:1 name
   删值:hdel user:1 age
   计算个数:hset user:1 name xiaoming; hset user:1 age 23; 
              hlen user:1
   批量设值:hmset user:2 name xiaoming age 23 sex boy
   批量取值:hmget user:2 name age sex
   判断field是否存在:hexists user:2 name
   获取所有field: hkeys user:2
   获取user:2所有value:hvals user:2
   获取user:2所有field与value:hgetall user:2
   增加1:hincrby user:2 age 1
   hincrbyfloat user:2 age 2

列表

列表( list)类型是用来存储多个有序的字符串,a、b、c、d、e五个元素从左到右组成了一个有序的列表,列表中的每个字符串称为元素(element),一个列表最多可以存储2-1个元素。在Redis 中,可以对列表两端插入( push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等。

1、lrange获取指定范围内的元素列表

索引下标特点:从左到右为0到N-1

lrange 0 -1  命令可以从左到右获取列表的所有元素
rpush 从右向左插入
lpush 从左向右插入
linsert 在某个元素前或后插入新元素
lpop 从列表左侧弹出
rpop 从列表右侧弹出 


2、lrem 对指定元素进行删除

lrem命令会从列表中找到等于value的元素进行删除,根据count的不同分为三种情况:

  • count>0,从左到右,删除最多count个元素。
  • count<0,从右到左,删除最多count绝对值个元素。
  • count=0,删除所有。

lrem enjoylist 4 x


3、ltirm 按照索引范围修剪列表

例如想保留列表中第0个到第1个元素

ltrim enjoylist 0 1


4、lset修改指定索引下标的元素

lset enjoylist 1 web

5、lindex 获取列表指定索引下标的元素

lindex enjoylist 1

6、llen获取列表长度

llen enjoylist

以上是关于2Redis的常用命令的主要内容,如果未能解决你的问题,请参考以下文章

7-2redis hash类型及其他常用操作

提效小技巧——记录那些不常用的代码片段

Redis系列--2Redis配置

常用python日期日志获取内容循环的代码片段

C#常用代码片段备忘

IOS开发-OC学习-常用功能代码片段整理