1、redis字符串类型键的设置
- 命令名称:SET
- 语法:set key value [EX seconds] [PX milliseconds] [NX|XX]
- 功能:给一个key添加字符串类型的值,如果该key已经存在,值会被新值覆盖,不论是上面类型的key。set设置后的键,之前的生存时间会被丢弃。
- 选项:EX seconds(生存时间:秒)/PX milliseconds(生存时间:毫秒)/NX(仅在键不存在时设置)/XX(仅在键存在时设置)
- 返回值:如果设置成功返回OK,如果设置失败,返回nil。
- 命令名称:MSET
- 语法:set key value [key value...]
- 功能:
- 1)同时设置多个key,如果key存在会覆盖。
- 2)MSET是原子的,所有键会同时设置成功或者失败。
- 返回值:如果设置成功返回OK,如果设置失败,返回nil。
- 命令名称:SETEX
- 语法:setex key seconds value
- 功能:
- 1)给一个键设置为字符串类型,并指定生存时间(单位:秒)。
- 2)该命令是原子的,如果设置失败或者指定生存时间失败,会恢复原始状态。
- 返回值:如果设置成功返回OK,如果设置失败,返回错误信息。
- 命令名称:PSETEX
- 语法:psetex key milliseconds value
- 功能:
- 1)给一个键设置为字符串类型,并指定生存时间(单位:毫秒)。
- 2)该命令是原子的,如果设置失败或者指定生存时间失败,会恢复原始状态。
- 返回值:如果设置成功返回OK,如果设置失败,返回错误信息。
- 命令名称:SETNX
- 语法:SETNX key value
- 功能:1)如果key不存在,将其设置为字符串类型。
- 返回值:如果设置成功返回1,如果设置失败,返回0。
- 命令名称:MSETNX
- 语法:MSETNX key value [key value...]
- 功能:
- 1)同时设置多个key,如果一个key存在则设置失败,不考虑其他键是否存在。
- 2)MSETNX是原子的,所有键会同时设置成功或者失败。
- 返回值:如果都设置成功返回1,如果设置失败,返回0。
- 命令名称:setrange
- 语法:setrange key offset value
- 功能:
- 1)修改或者设置一个键的字符串类型值的内容。
- 2)如果键不存在,就设置一个新的,并且补充offset个null,再加入value,换句话说,值为“offset个null+value”。
- 3)如果键已经存在,从该键值offset处开始插入value,如果offset的值大于该键字符串长度,用null补充到该长度,再末尾插入value。
- 返回值:成功返回字符串长度,失败返回错误信息。
- 注意事项:1)offset最大值2^29-1
- 命令名称:append
- 语法:append key value
- 功能:1)如果key存在,则在后面追加value的内容。2)如果key不存在,会创建一个key,并设置其值为空字符串,并在后追加value的内容。
- 返回值:成功返回字符串长度。
2、redis字符串类型键的查询
- 命令名称:get
- 语法:get key
- 功能:查询key的值
- 返回值:如果键不存在,返回nil;如果key不是string类型,返回错误信息。
- 命令名称:mget
- 语法:mget key [key...]
- 功能:查询所有key的值。
- 返回值:1)列出所有键的值,绝不会执行失败,如果键是string类型,返回其值,如果键不存在或者不是string类型,返回nil
- 命令名称:getrange
- 语法:getrange key start end
- 功能:查询一个字符串的子串,子串的内容取决于start和end(两个参数都必需),start和end可以为负数,-1代表最后一个字符,-2代表倒数第二个字符。
- 返回值:如果key存在,返回字符串的子串内容,如果key不存在,返回空字符串,如果key不是string类型,返回错误信息。
- 命令名称:strlen
- 语法:strlen key
- 功能:返回key的字符串长度。
- 返回值:字符串长度,如果key不存在返回0,如果不是字符串类型,返回错误信息。
- 命令名称:getset
- 语法:getset key value
- 功能:原子的给一个key设置value并且将旧值返回。
- 返回值:如果key不是字符串类型,返回一个错误。
- 应用场景:获取计数器并且重置为0
3、redis字符串类型键的计数操作
- 命令名称:incr
- 语法:incr key
- 功能:将key中储存的数字值增1,如果key不存在,那么key的值会先被初始化为0,然后再执行incr操作。本操作的值限制在64位有符号数字表示之内。key的值必须是整型。
- 返回值:1)如果值包含错误的类型,或字符串类型的值不能表示为数字,返回一个错误/如果执行成功,返回执行INCR命令之后key的值。
- 命令名称:incrby
- 语法:incrby key increment
- 功能:将key中储存的数字值加上增量increment,如果key不存在,那么key的值会先被初始化为0,然后再执行incrby操作。本操作的值限制在64位有符号数字表示之内。key的值必须是整型。
- 返回值:1)如果值包含错误的类型,或字符串类型的值不能表示为数字,返回一个错误/如果执行成功,返回执行INCRBY命令之后key的值。
- 命令名称:incrbyfloat
- 语法:incrbyfloat key increment
- 功能:
- 1)将key中储存的数字值加上浮点数增量increment,如果key不存在,那么key的值会先被初始化为0,然后再执行incrbyfloat操作。
- 2)可以使用科学技术法。
- 返回值:执行成功过返回更新以后的值,执行失败返回错误信息。
- 命令名称:decr
- 语法:decr key
- 功能:将key中储存的数字值减1,如果key不存在,那么key的值会先被初始化为0,然后再执行decr操作。本操作的值限制在64位有符号数字表示之内。key的值必须是整型。
- 返回值:1)如果值包含错误的类型,或字符串类型的值不能表示为数字,返回一个错误/如果执行成功,返回执行decr命令之后key的值。
decrby 同incrby