Redis常用命令操作
Redis常用命令操作1、字符串(string)操作命令先来看最简单的字符串类型,其常见的操作命令如下。(1)赋值(set)和取值(get)使用 Redis提供的set、get命令,可以有效地进行数据的写入和读取。例如,把姓名信息写入 username字段中,命令如下set username wangjialin执行结果如下:127.0.0.1:6379> set username wangjialinset命令后面第一个参数,是需要写入的字段,第二个参数为写入的数据。需要读取 username值,可以使用get命令,此命令只有一个参数,就是需要获取的字段,例如:get username执行结果如下127.0.0.1: 6379> get usernamewangjialin(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 wangjialin2)“18(3)递增(incr)和递减(decr)若字符串存储的数据是为了进行整数运算,使用mcr,decr命令,进行递增、递减操作,比如对age进行递增,可以执行以下命令执行完成后,发现age字段的值,已经变为19,执行结果如下127.0,0,1:6379> incr age(integer) 19decr命令类似,在这里就不再重复演示提示:更多 Redis的命令说明,可以访问官方手册:https://redis. io/commands2.散列表(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 wangilalin127.0.0.1: 6379> hset userinfo age 18使用hget获取 userinfo的值127.0.0.1:6379> get userinfo usernameanjialing127.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 age1)“ zhangsan”(3)获取键中所有字段值(hgetall)使用 hgetall命令可以更方便地获取指定散列表中的所有字段值,例如先给 userinfo增加一些新的字段值,执行结果如下127.0.0.1: 6379> hmset userinfo mobile 13511112222 address beijinstatus 1 is_admin 1随后获取 userinfo所有的字段值,使用 hgetall不需要传入字段名,只需要传入散列表名即可127.0.0.1: 6379> hgetall userinfo1) "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) 1127.0.0.1:6379> hexists userinfo name(integer) 0(5)获取所有键(hkeys)和值(hvals)这两个命令较好理解,针对 userinfo散列表, hkeys命令的操作和执行结果如下:127.0.0.1:6379> hkeys userinfo1)"username"2)"age"3)"mobile"4)"address"5)"status"6)"is_admin"hals命令的操作和执行结果如下127.0.0.1:6379> hvals userinfo1)"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) 3lpush将数据从左到右插入列表, rpush则相反(2)读取列表值( lrange)值的获取通过 lrange和索引操作,例如获取 good list列表中所有的列表值,可以操作如下:lrange good_list 0 -1返回结果如下127.0.0.1:6379>1 range goods_list0-11)"switch"2)"xboxonex"3)"ps4"若需要获取名为switch的数据,则需执行以下命令:lrange goods_list 0 0结果如下:127.0.0.1:6379>lrange goods_list 0 0range1)"switchlrange的第一个参数为列表名,第二个参数为索引开始位置,第三个参数为获取索引开始的几个参数,所以想要获取前两个值,则执行以命令:lrange goods_list 0 1相当于从索引0开始,获取了0和1两个值,结果如下:127.0.0.1: 6379> lrange goods_list 0 11)"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-11)"xboxonex"2)"ps4"