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
哈希
id | name | age |
---|---|---|
1 | xiaoming | 18 |
-- 用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的常用命令的主要内容,如果未能解决你的问题,请参考以下文章