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"
文章评论(0)