Redis的String类型提供了多个命令,用于设置、获取、修改和操作String类型的值。下面列举一些常用的命令和使用举例:
SET key value:设置key对应的String类型的值为value。
例如:SET name “John”,设置键名为name的值为字符串”John”。
GET key:获取key对应的String类型的值。
例如:GET name,获取键名为name的值”John”。
INCR key:将key对应的值加1。
例如:SET age 10,执行INCR age后,键名为age的值变为11。
DECR key:将key对应的值减1。
例如:SET count 100,执行DECR count后,键名为count的值变为99。
INCRBY key increment:将key对应的值加上increment。
例如:SET stock 100,执行INCRBY stock 50后,键名为stock的值变为150。
DECRBY key decrement:将key对应的值减去decrement。
例如:SET score 100,执行DECRBY score 20后,键名为score的值变为80。
APPEND key value:将value追加到key对应的值的末尾。
例如:SET content “hello”,执行APPEND content ” world”后,键名为content的值变为”hello world”。
MSET key value [key value …]:同时设置多个key-value对。
例如:MSET name1 “John” name2 “Mary”,一次性设置键名为name1的值为”John”,键名为name2的值为”Mary”。
MGET key [key …]:同时获取多个key对应的值。
例如:MGET name1 name2,一次性获取键名为name1和name2的值。
SETEX key seconds value:设置key对应的值为value,并设置过期时间为seconds秒。
例如:SETEX sessionid 3600 “abcde”,设置键名为sessionid的值为”abcde”,并设置过期时间为3600秒。
STRLEN key:获取key对应的值的长度。
例如:SET message “hello”,执行STRLEN message后,返回值为5。
GETRANGE key start end:获取key对应的值中从start到end的子字符串。
例如:SET text “hello world”,执行GETRANGE text 0 4,返回值为”hello”。
SETRANGE key offset value:将key对应的值中从偏移量offset开始的子字符串替换为value。
例如:SET greet “good morning”,执行SETRANGE greet 5 “evening”,键名为greet的值变为”good eveninging”。
BITCOUNT key [start end]:统计key对应的值中指定范围内的二进制位中值为1的位的数量。
例如:SET bitmap “\xff\xf0\x00″,执行BITCOUNT bitmap 0 2,返回值为12
BITOP operation destkey key [key …]:对指定的多个key对应的值执行按位操作,并将结果保存到destkey对应的值中。
operation参数可以是AND、OR、XOR或NOT,分别表示按位与、按位或、按位异或和按位非。如果key参数有多个,那么它们的值的长度必须相同。
例如:SET a “\xff\xf0\x00″,SET b “\x0f\x00\xff”,执行BITOP AND c a b,将a和b的值进行按位与操作,结果保存在键名为c的值中。
GETBIT key offset:获取key对应的值中偏移量为offset的二进制位的值(0或1)。
例如:SET bitmap “\xff\xf0\x00″,执行GETBIT bitmap 9,返回值为1。
SETBIT key offset value:将key对应的值中偏移量为offset的二进制位设置为value。
例如:SET bitmap “\xff\xf0\x00″,执行SETBIT bitmap 9 0,键名为bitmap的值变为”\xff\xe0\x00″。
MSETNX key value [key value …]:同时设置多个key-value对,但只有当所有key都不存在时才会执行设置操作。
例如:MSETNX name1 “John” name2 “Mary”,如果name1和name2都不存在,则执行设置操作,返回值为1;否则不执行设置操作,返回值为0。
GETSET key value:设置key对应的值为value,并返回key对应的原始值。
例如:SET name “Tom”,执行GETSET name “Jerry”,返回值为”Tom”,并将键名为name的值变为”Jerry”。
PSETEX key milliseconds value:设置key对应的值为value,并设置过期时间为milliseconds毫秒。
例如:PSETEX sessionid 3600000 “abcde”,设置键名为sessionid的值为”abcde”,并设置过期时间为3600000毫秒。
这些命令只是Redis String类型命令的一部分,还有其他命令用于处理二进制位、位图、浮点数等。开发者可以根据具体需求进行选择和使用。