1. String类型是包含很多种数据类型的特殊类型, 并且是二进制安全的。比如: 序列化的对象进行存储, 比如: 一张图片进行二进制存储, 比如: 一个简单的字符串, 数值等等。string类型的值最大能存储512MB。
2. 设置字符串
2.1. 语法: set key value。
2.2. set命令用于设置给定key的值。如果key已经存储其他值, set就覆写旧值, 且无视类型。
2.3. 如果字符串有空格需要加上引号。如果没有空格也可以不加引号。
2.4. set在设置操作成功完成时, 返回OK。
2.5. 实例
3. 获取字符串
3.1. 语法: get key。
3.2. get命令用于获取指定key的值。如果key不存在, 返回nil。如果key储存的值不是字符串类型, 返回一个错误。
4. 设置key不存在的字符串
4.1. 语法: setnx key value。
4.2. setnx(set if not exists)命令在指定的key不存在时为key设置指定的值。如果key已经存在, 设置失败。
4.3. 设置成功, 返回1。设置失败, 返回0。
4.4. 实例
5. 设置字符串同时设置过期时间
5.1. 语法: setex key seconds value。
5.2. setex命令为指定的key设置值及其过期时间, 过期时间以秒为单位。如果key已经存在, setex命令将会替换旧的值。
5.3. 设置成功时返回OK。
5.4. 过期查询返回nil, 这个key也不存在了。
5.5. 实例
6. 替换字符串
6.1. 语法: getset key value。
6.2. getset命令用于设置指定key的值, 并返回key的旧值。当key没有旧值时, 即key不存在时, 返回nil(这个时候就相当于设置了一个新key)。当key存在但不是字符串类型时, 返回一个错误。
7. 从指定位置替换字符串
7.1. 语法: setrange key offset value。
7.2. setrange命令用指定的字符串覆盖给定key所储存的字符串值, 覆盖的位置从偏移量offset(字节数)开始, offset从0开始计数。如果起始位置超过字符串长度, 多出的位置用空格替换。offset必须大于等于0。
7.3. 返回被修改后的字符串长度。
7.4. 实例
8. 同时设置多个字符串
8.1. 语法: mset key value [key value ...]。
8.2. mset命令用于同时设置一个或多个key-value对。
8.3. 总是返回OK。
8.4. 实例
9. 同时设置一个或多个key不存在的字符串
9.1. 语法: msetnx key value [key value ...]。
9.2. 同时设置一个或多个key-value对, 当且仅当所有给定key都不存在时才能设置成功, 反之失败。
9.3. 当所有key都成功设置, 返回1, 反之返回0。
9.4. 实例
10. 设置字符串同时设置过期时间
10.1. 语法: psetex key milliseconds value。
10.2. psetex命令和setex命令相似, 但它以毫秒为单位设置key的生存时间, 而不是像setex命令那样, 以秒为单位。如果key已经存在, setex命令将会替换旧的值。
10.3. 设置成功时返回OK。
10.4. 实例
11. 获取一个或多个给定key的字符串值
11.1. 语法: mget key1 [key2..]。
11.2. mget命令返回一个或多个给定key的字符串值。如果给定的key里面, 有某个key不存在, 那么这个key返回特殊值nil。
11.3. 返回一个包含所有给定key的值的列表。
11.4. 实例
12. 将key中储存的整形数字增一
12.1. 语法: incr key。
12.2. incr命令将key中储存的整形数字增一。如果key不存在, 那么key的值会先被初始化为0, 然后再执行incr操作。如果值包含错误的类型或字符串类型的值不能表示为整形数字, 那么返回一个错误。本操作的值限制在64位(bit)有符号整形数字表示之内。
12.3. 返回执行incr命令之后key的值。
12.4. 实例
13. 将key中储存的整形数字加上给定的增量值
13.1. 语法: incrby key increment。
13.2. incrby命令将key中储存的整形数字加上指定的增量值。增量也可以为负数, 相当于对指定字段进行减法操作。如果key不存在, 那么key的值会先被初始化为0, 然后再执行incrby命令。如果值包含错误的类型或字符串类型的值不能表示为整形数字, 那么返回一个错误。本操作的值限制在64位(bit)有符号整形数字表示之内。
13.3. 返回加上指定的增量值之后, key的值。
13.4. 实例
14. 将key所储存的数字加上给定的浮点增量值
14.1. 语法: incrbyfloat key increment。
14.2. incrbyfloat命令为key中所储存的数字加上指定的浮点数增量值。增量也可以为负数, 相当于对指定字段进行减法操作。如果key不存在, 那么incrbyfloat会先将key的值设为0, 再执行加法操作。如果值包含错误的类型或字符串类型的值不能表示为数字, 那么返回一个错误。
14.3. 返回执行命令之后key的值。
14.4. 实例
15. 将key中储存的整形数字值减一
15.1. 语法: decr key。
15.2. decr命令将key中储存的整形数字值减一。如果key不存在, 那么key的值会先被初始化为0, 然后再执行decr操作。如果值包含错误的类型或字符串类型的值不能表示为整形数字, 那么返回一个错误。本操作的值限制在64位(bit)有符号整形数字表示之内。
15.3. 返回执行命令之后key的值。
15.4. 实例
16. 将key所储存的整形数字减去给定的减量值
16.1. 语法: decrby key decrement。
16.2. decrby命令将key所储存的整形数字减去指定的减量值。减量也可以为负数, 相当于对指定字段进行加法操作。如果key不存在, 那么key的值会先被初始化为0, 然后再执行decrby操作。如果值包含错误的类型或字符串类型的值不能表示为整形数字, 那么返回一个错误。本操作的值限制在64位(bit)有符号整形数字表示之内。
16.3. 减去指定减量值之后key的值。
16.4. 实例
17. 追加字符串
17.1. 语法: append key value。
17.2. append命令用于为指定的key追加值。如果key已经存在并且是一个字符串, append命令将value追加到key原来的值的末尾。如果key不存在, append就简单地将给定key设为value, 就像执行set key value一样。
17.3. 返回追加指定值之后key中字符串的长度。
17.4. 实例
18. 获取字符串值的长度
18.1. 语法: strlen key。
18.2. strlen命令用于获取指定key所储存的字符串值的字节数。当key储存的不是字符串值时, 返回一个错误。
18.3. 返回字符串值的字节数。当key不存在时返回0。
18.4. 实例
19. 返回key中字符串值的子字符
19.1. 语法: getrange key start end。
19.2. getrange命令用于获取存储在指定key中字符串的子字符串。字符串的截取范围由start(字节数)和end两个偏移量决定(包括start和end在内)。start和end是从0开始计数的。如果end超过了字符串字节数, 截取从起始位置起, 剩余的字符串。如果start或end为负数, 就用字节数加上这个负数, 换算成正数, 如果相加后的结果还为负值, 就直接取0。最终end要大于start才会有结果。
19.3. 返回截取得到的子字符串。
19.4. 实例