《Redis使用手册字符串设置》
目录
-
-
- **《Redis使用手册字符串设置》**
- ** SET:为字符串键设置值**
- ** GETSET:获取旧值并设置新值**
- ** MSET:一次为多个字符串键设置值**
- MGET:一次获取多个字符串键的值**
- ** MSETNX:只在键不存在的情况下,一次为多个字符串键设置值**
- ** STRLEN:获取字符串值的字节长度**
- 字符串值的索引**
- ** GETRANGE:获取字符串值指定索引范围上的内容**
- SETRANGE:对字符串值的指定索引范围进行设置**
- ** APPEND:追加新内容到值的末尾**
- INCRBY、DECRBY:对整数值执行加法操作和减法操作**
- INCR、DECR:对整数值执行加1操作和减1操作**
- INCRBYFLOAT:对数字值执行浮点数加法操作**
-
** SET:为字符串键设置值**
-
127.0.0.1:6379> set key 100
OK
127.0.0.1:6379> set key 100 NX
(nil)不带任何可选项的SET 命令从Redis 1.0.0版本开始可用; 带有NX/XX等可选项的SET命令从Redis 2.6.12版本开始可用。
原文:不带任何可选项的SET命令从Redis 1.0.0版本开始可用;带有NX、XX等可选项的SET命令从Redis 2.6.12版本开始可用。
** GETSET:获取旧值并设置新值**
-
127.0.0.1:6379> getset key 200
“100”getset:获取旧值并设置新值
原文:GETSET命令就像GET命令和SET命令的组合版本,GETSET首先获取字符串键目前已有的值,接着为键设置新值,最后把之前获取到的旧值返回给用户:
** MSET:一次为多个字符串键设置值**
-
127.0.0.1:6379> mset message “zhangsan” number 12345
OK
127.0.0.1:6379> get message
“zhangsan”
127.0.0.1:6379> get number
“12345”mset命令除了可以让用户更为方便地执行多个设置操作之外,还能有效地提高程序的效率:执行多条set命令需要客户端和服务器进行多次网络通信,并因此耗费大量的时间,执行一条mset命令去代替多条set命令只需要一次网络通讯。
原文:MSET命令除了可以让用户更为方便地执行多个设置操作之外,还能有效地提高程序的效率:执行多条SET命令需要客户端和服务器之间进行多次网络通信,并因此耗费大量的时间;而使用一条MSET命令去代替多条SET命令只需要一次网络通信,从而有效地减少程序执行多个设置操作时的时间。
MGET:一次获取多个字符串键的值**
-
127.0.0.1:6379> mget message number
- “zhangsan”
- “12345”
MGET:一次获取多个字符串键的值 与mset命令类似,MGET命令也可以将执行多个获取操作所需的网络通信次数从原来的N次降低至只需一次。
原文:与MSET命令类似,MGET命令也可以将执行多个获取操作所需的网络通信次数从原来的N次降低至只需一次,从而有效地提高程序的运行效率。
** MSETNX:只在键不存在的情况下,一次为多个字符串键设置值**
-
127.0.0.1:6379> msetnx message “lisi” nerber 123 wangwu “hh” bb “aa”
(integer) 0msetnx:只有键不存在的情况下,一次为多个字符串键设置值
原文:MSETNX:只在键不存在的情况下,一次为多个字符串键设置值
通过使用相同的格式去命名逻辑上相关联的键,我们可以让程序产生的数据结构变得更容易被理解,并且在需要的时候,还可以根据特定的键名格式在数据库里面以模式匹配的方式查找特定的键。
原文:通过使用相同的格式去命名逻辑上相关联的键,我们可以让程序产生的数据结构变得更容易被理解,并且在需要的时候,还可以根据特定的键名格式在数据库里面以模式匹配的方式查找指定的键。
** STRLEN:获取字符串值的字节长度**
-
127.0.0.1:6379> strlen message
(integer) 8strlen:获取字符串值的字节长度。
原文:STRLEN:获取字符串值的字节长度
字符串值的索引**
字符串值的正数索引以0为开始,从字符串的开头向结尾不断递增 字符串值的负数索引以-1为开始,从字符串的结尾向开头不断递减。
原文:字符串值的正数索引以0为开始,从字符串的开头向结尾不断递增。●字符串值的负数索引以-1为开始,从字符串的结尾向开头不断递减。
** GETRANGE:获取字符串值指定索引范围上的内容**
127.0.0.1:6379> get message
“zhangsan”
127.0.0.1:6379> getrange message -5 -1
“ngsan”
127.0.0.1:6379> getrange message 0 8
“zhangsan”
127.0.0.1:6379> getrange message -8 0
“z”
127.0.0.1:6379> getrange message -8 -1
“zhangsan”
127.0.0.1:6379> getrange message -8 -2
“zhangsa”
GETRANGE:获取字符串值指定索引范围上的内容 getrange message 0 8 getrange message -8 -1
原文:GETRANGE:获取字符串值指定索引范围上的内容
SETRANGE:对字符串值的指定索引范围进行设置**
-
127.0.0.1:6379> setrange message 4 “lisiwangwi”
(integer) 14
127.0.0.1:6379> get message
“zhanlisiwangwi”
127.0.0.1:6379> setrange message 18 “hhhh”
(integer) 22
127.0.0.1:6379> get message
“zhanlisiwangwi\x00\x00\x00\x00hhhh”SETRANGE:对字符串值的指定索引范围进行设置 setrange key 5 111 自动扩展被修改的字符串 在值里面填充空字节
原文:SETRANGE:对字符串值的指定索引范围进行设置
** APPEND:追加新内容到值的末尾**
-
127.0.0.1:6379> append message “DDD”
(integer) 25
127.0.0.1:6379> get message
“zhanlisiwangwi\x00\x00\x00\x00hhhhDDD”APPEND:追加新内容到值的末尾 append key suffix 如果用户给定的键并不存在,那么append命令会先将键的值初始化为空字符串,然后再执行追加操作。
原文:APPEND:追加新内容到值的末尾
INCRBY、DECRBY:对整数值执行加法操作和减法操作**
-
127.0.0.1:6379> incrby number 200
(integer) 12545
127.0.0.1:6379> incrby number 300
(integer) 12845
127.0.0.1:6379> decrby number 1845
(integer) 11000
127.0.0.1:6379> incrby message 100
(error) ERR value is not an integer or out of range
127.0.0.1:6379> incrby num 100
(integer) 100incrby、decrby:对整数值执行加法操作和减法操作 当字符串键的值不能被Redis解释为整数时,对键执行incrby、decrby命令将返回一个错误。 处理不存在的键,incrby、decrby命令会先将键的值初始化为0,然后再执行响应的加法操作或减法操作。
原文:INCRBY、DECRBY:对整数值执行加法操作和减法操作
INCR、DECR:对整数值执行加1操作和减1操作**
-
127.0.0.1:6379> incr num 111
(error) ERR wrong number of arguments for ‘incr’ command
127.0.0.1:6379> incr num
(integer) 101
127.0.0.1:6379> decr num
(integer) 100INCR、DECR:对整数值执行加1操作和减1操作。 INCR KEY DECR KEY 除了增量和减量被固定位1之外,INCR命令和DECR命令的其他方面与INCRBY、DECRBY命令完全相同。
原文:INCR、DECR:对整数值执行加1操作和减1操作
INCRBYFLOAT:对数字值执行浮点数加法操作**
-
127.0.0.1:6379> incrbyfloat decimal 3.14
“3.14”
127.0.0.1:6379> incrbyfloat decimal 5.61
“8.75”
127.0.0.1:6379> incrbyfloat decimal 5.61
“14.36”
127.0.0.1:6379> incrbyfloat decimal -5.61
“8.75”
127.0.0.1:6379> incrbyfloat decimal -5.61
“3.14”
127.0.0.1:6379> incrbyfloat decimal 0.111215451216585525558963
“3.25121545121658553”incrbyfloat:对数字值执行浮点数加法操作 处理不存在的键,会先将键的值初始化,然后再执行相应的加法操作。 Redis为INCR命令提供了相应的减法版本DECR命令,也为INCRBY命令提供了相应的减法版本DECRBY命令,但是并没有为INCRBYFLOAT命令提供相应的减法版本,因此用户只能通过给INCRBYFLOAT命令传入负数增量来执行浮点数的减法操作。 在使用INCRBYFLOAT命令处理浮点数的时候,命令最多只会保留计算结果小数点后的17位数字,超过这个范围的小数将被截断。
原文:INCRBYFLOAT:对数字值执行浮点数加法操作