一、类型概述
字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。
二、相关命令使用
1、赋值类
示例:set key val
用法:用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
返回:成功返回OK
127.0.0.1:6379> set name jack
OK
示例:mset key...keyn val1...valn
用法:命令用于同时设置一个或多个 key-value 对。
返回:总是返回OK
127.0.0.1:6379> mset key1 key2 key3 val1 val2 val3
OK
示例:setnx key val
用法:Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。
返回:key不存在设置成功返回1,key存在返回0
127.0.0.1:6379> setnx name jack
(integer) 0
示例:append key val
用法:如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。
返回:追加指定值之后, key 中字符串的长度。
127.0.0.1:6379> append name boy
(integer) 7
127.0.0.1:6379> append job doctors
(integer) 7
2、取值类
示例:get key
用法:用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误。
返回:返回 key 的值,如果 key 不存在时,返回 nil。 如果 key 不是字符串类型,那么返回一个错误。
127.0.0.1:6379> get name
"jack"
示例:mget key1....keyn
用法:返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
返回:一个包含所有给定 key 的值的列表。
127.0.0.1:6379> mget key1 key2 key3
1) "key2"
2) (nil)
3) "val1"
示例:strlrn key
用法:用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。
返回:字符串值的长度。 当 key 不存在时,返回 0。
127.0.0.1:6379> strlen name
(integer) 4
3、运算类
示例:incr key(默认操作1)
用法:如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
返回:执行 INCR 命令之后 key 的值。
示例:incrby key num
用法:如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
返回:执行 INCR 命令之后 key 的值。
示例:decr key(默认操作1)
用法:如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
返回:执行 DECR 命令之后 key 的值。
示例:decrby key val
用法:如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
返回:执行 DECR 命令之后 key 的值。
127.0.0.1:6379> set math 20
OK
127.0.0.1:6379> incr math
(integer) 21
127.0.0.1:6379> incrby math 20
(integer) 41
127.0.0.1:6379> decr math
(integer) 40
127.0.0.1:6379> decrby math 20
(integer) 20
127.0.0.1:6379>