本文介绍redis的string类型的命令使用方式,string类型是二进制安全的,可以存放任何数据类型,图片、对象等等都是可以的。下面将罗列与string类型相关的语法操作:
1、如何添加一个string
命令:set 添加一个string对象 语法:set [key] [value] 范例:set name wangzp 阐述:添加了一个名为name的string对象,值为‘wangzp‘;如果之前已经存在name对象,那么将覆盖原来的对象。
2、如何获取一个string
命令:get 获取一个string对象的值 语法:get [key] 范例:get name 阐述:获取name对象的值,返回为‘wangzp‘;如果不存在该对象,那么返回空(nil)
3、setnx与set的区别
两者语法形式一致, 前者使用时只有当key不存在时,才会执行set操作; 后者不管是否已经存在该key,如果存在那么覆盖掉。 所以在实际使用时,应该根据key的应用场合,来确定使用set还是setnx,如果对key存在保护,那么建议使用setnx,以便于错误的覆盖了之前的值。
4、批量添加string
命令:mset 一次性添加多个string对象 语法:mset [key1 value1] [key2 value2] ... [keyn valuen] 范例:mset name wangzp age 23 address shanghai 阐述:一次性添加name、age、address三个string对象。
5、批量获取string
命令:mget 一次性获取多个string对象值 语法:mget [key1] [key2] ... [keyn] 范例:mget name age address 阐述:一次性获取name、age、address三个string对象的值
6、mset与msetnx的区别
两者的语法形式一致,类比于set、setnx的区别,但是需要注意的是当使用msetnx时,只要其中一个string对象 key是存在的,那么就设置失败 例如:name是存在的 msetnx name wangzp age 23 执行上述命令,会返回0,表示执行失败
7、重新设置string
命令:getset 重新设置string对象(如果key存在,那么返回旧值,设置新值;) 语法:getset key value 范例1:getset name wangzp // 假设name之前存在值为wangzpold 阐述:返回wangzpold,并设置name为wangzp 范例2:getset name newwangzp // 假设name之前不存在 阐述:返回nil,并设置name为newwangzp 综述:根据范例1、2你会发现,实际上getset相当于执行了get 、 set操作。
8、删除string
命令:del 删除string对象 语法:del key 范例:del name 阐述: 删除name对象
9、string相关辅助命令
除上述基本的增删改查外的操作,还有一些辅助性质的命令: 1、string值的截取、添加操作 命令语法: setrange [key] [起始索引位置] [替换的字符串] // 返回新字符串的长度 范例1:setrange name 2 ok // 假设之前name=wangzp 阐述:返回6(waokzp);从指定的起始位置开始替换。 命令语法:getrange [key] [起始索引位置] [终止索引位置] 范例2:getrange name 0 3 // 假设之前name=wangzp 阐述:返回wang,起始位置与终止位置是闭区间,包括边界位置 命令语法:append [key] [value] 范例3:append name -23 // 假设之前name=wangzp 阐述:返回9(返回新字符串长度),该语法命令是在string对象末尾添加字符串。 2、string值的自增、自减操作 命令语法:incr [key] // 自增+1 范例1:incr age // 假设age=23 阐述:返回24,也就是age+1的数值;key对象的value必须是数值类型。 命令语法:incrby [key] [步长] // 指定步长执行自增 范例2:incrby age 5 // age=23 阐述:返回28,也就是age + 5,如果步长为负数,那么表示自减操作 命令语法:decr [key] // 自减-1 范例3:decr age // age=23 阐述:返回22,即age-1 命令语法:decrby [key] [步长] 范例4:decrby age 5 // age=23 阐述:返回18,即age-5,如果此时步长为负值,那么相当于是自增操作 3、获取string对象长度 命令语法:strlen [key]
时间: 2024-11-07 00:45:53