Redis常用命令操作

2019-08-11   阅读:2196   分类:后端    标签: Redis

Redis常用命令操作


1、字符串(string)操作命令

先来看最简单的字符串类型,其常见的操作命令如下。

(1)赋值(set)和取值(get)

使用 Redis提供的set、get命令,可以有效地进行数据的写入和读取。例如,把姓名信息写入 username字段中,命令如下

set username wangjialin

执行结果如下:

127.0.0.1:6379> set username wangjialin

set命令后面第一个参数,是需要写入的字段,第二个参数为写入的数据。

需要读取 username值,可以使用get命令,此命令只有一个参数,就是需要获取的字段,例如:

get username

执行结果如下

127.0.0.1: 6379> get username

wangjialin

(2)批量赋值(mset)和批量取值(mget)

同时,Redis也提供了批量操作字符串的方法,使用mset、mget命令,可以一次操作多个字段的数据,例如执行以下命令

mset username wangjialin age 18

执行结果如下

127.0.0.1:6379> mset username wangjlalln age 18

在使用mget读取 username.和age的值,结果如下

127.0.0,1:637 wangjialin

2)“18

(3)递增(incr)和递减(decr)

若字符串存储的数据是为了进行整数运算,使用mcr,decr命令,进行递增、递减操

作,比如对age进行递增,可以执行以下命令

执行完成后,发现age字段的值,已经变为19,执行结果如下

127.0,0,1:6379> incr age

(integer) 19

decr命令类似,在这里就不再重复演示

提示:更多 Redis的命令说明,可以访问官方手册:https://redis. io/commands


2.散列表(hash)操作命令

散列表又称为哈希表,本身是一种键值数据结构,不支持嵌套其他数据类型,只支字符串。 Redis为散列表提供了众多的操作命令,常见的命令如下

(1)赋值(hset)和取值(hget)

hset、hget命令的使用,与set、get类似,只是增加了一个参数,用法如下

hset散列表名字段值

hget散列表名字段

例如,在 userinfo这个散列表里面,增加 username、age两个键值,操作命令如下

hset userinfo wangjialin

执行结果如下

127.0.0.1: 6379> hset userinfo username wangilalin

127.0.0.1: 6379> hset userinfo age 18

使用hget获取 userinfo的值

127.0.0.1:6379> get userinfo username

anjialing

127.0.0.1:6379> hget userinfo age

(2)批量赋值( hmset)和批量取值( hmget)

和字符串操作一样,对散列表也可以批量地进行赋值、取值的操作,例如批量修改

username和age的值为新的值,命令为

hmset userinfo username zhangsan age 28

执行结果如下:

27.0.0.1: 6379> hmset userinfo username zhangsan age 28

批量取值的操作如下:

hmget userinfo username age

执行结果如下,发现原有的数据已经被新的数据覆盖:

127.0.0. 1: 6379> hmget userinfo username age

1)“ zhangsan”

(3)获取键中所有字段值(hgetall)

使用 hgetall命令可以更方便地获取指定散列表中的所有字段值,例如先给 userinfo增

加一些新的字段值,执行结果如下

127.0.0.1: 6379> hmset userinfo mobile 13511112222 address beijin

status 1 is_admin 1

随后获取 userinfo所有的字段值,使用 hgetall不需要传入字段名,只需要传入散列表名即可

127.0.0.1: 6379> hgetall userinfo

1) "username"

2) "zhangsan"

3) "age"

4)"28"

5)"mobile"

6)“13511112222”

7)"address"

8)"beijing"

9)"status"

11)"is_admin"

12)"1”

(4)判断字段是否存在(hexists)

使用 hexists命令可以判断字段是否存在,如存在则返回1,否则返回0.例如刚才

列表以6中设置了username字,但是没有设置name字段,所以使用该命令的操作和执行结果如

127.0.0.1:6379> hexists userinfo username

(integer) 1

127.0.0.1:6379> hexists userinfo name

(integer) 0

(5)获取所有键(hkeys)和值(hvals)

这两个命令较好理解,针对 userinfo散列表, hkeys命令的操作和执行结果如下:

127.0.0.1:6379> hkeys userinfo

1)"username"

2)"age"

3)"mobile"

4)"address"

5)"status"

6)"is_admin"

hals命令的操作和执行结果如下

127.0.0.1:6379> hvals userinfo

1)"zhangsan"

2)"28"

3)"13511112222"

4)" beijing "

5)"1"

6)"1"

(6)删除字段值(hdel)

例如删除age字段值,执行命令的操作和结果如下:

127.0.0.1: 6379> hdel userinfo age

(integer)1

返回值为1,说明已经删除成功,再次执行hgetall命令,发现age字段值已经被删除

3.列表(list)操作命令

相比散列表, Redis列表类似PHP中的索引数组,索引为从0递增的整数,操作方式符合链表的数据结构,常见的操作命令如下

(1)将数据插入列表( lpush、 rpush)

例如往商品列表中插入三件商品名称,操作与执行结果如下:

127.0.0.1: 6379> lpush goods_list ps4 xboxonex switch

(integer) 3

lpush将数据从左到右插入列表, rpush则相反

(2)读取列表值( lrange)

值的获取通过 lrange和索引操作,例如获取 good list列表中所有的列表值,可以操作如下:

lrange good_list 0 -1

返回结果如下

127.0.0.1:6379>1 range goods_list 0-1

1)"switch"

2)"xboxonex"

3)"ps4"

若需要获取名为switch的数据,则需执行以下命令:

lrange goods_list 0 0

结果如下:

127.0.0.1:6379>lrange goods_list 0 0

range1)"switch

lrange的第一个参数为列表名,第二个参数为索引开始位置,第三个参数为获取索引开始的几个参数,所以想要获取前两个值,则执行以命令:

lrange goods_list 0 1

相当于从索引0开始,获取了0和1两个值,结果如下:

127.0.0.1: 6379> lrange goods_list 0 1

1)"switch"

2)"xboxonex"

(3)弹出列表中的数据(lpop、rpop)

使用lpop和rpop命令,可以弹出列表中的第一个元素或最后一个元素。这里还是goods_list列表为例,执行以下命令,弹出列表的第一个元素,执行结果如下:

127.0.0.1:6379>lpop goods_1ist

"switch"

再查看所有元素,结果如下:

127.0.0.1:6379>lrange goods_list 0-1

1)"xboxonex"

2)"ps4"


【腾讯云】 爆款2核2G3M云服务器首年 61元,2核2G4M云服务器新老同享 99元/年,续费同价

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://tpxhm.com/adetail/175.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸一
简忆博客壁纸二
简忆博客壁纸三
简忆博客壁纸四
简忆博客壁纸五
简忆博客壁纸六
简忆博客壁纸七
简忆博客壁纸八
头像

简忆博客
勤于学习,乐于分享

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×