Strings
在Redis中,STRINGs可以用于存储以下三种类型数据:
- 字节字符串
- 整型
- 浮点型
整型和浮点型可以按照任意数值递增或递减(整型可以按需转换为浮点型)。整型范围等同于平台的长整型(long integer)范围(在32-bit平台上有符号整型是32-bit,在64-bit平台上有符号整型是64-bit)。floats可用范围和限制依照IEEE 754 floating-point doubles.
整型,浮点型的STRINGs可以使用递增/递减操作
Redis中递增递减操作
| 命令 | 用法示例和描述 |
|---|---|
| INCR | INCR key-name —— 使key存储的值加1 |
| DECR | DECR key-name —— 使key存储的值减1 |
| INCRBY | INCRBY key-name amount —— 使key存储的值增加给定的整数 |
| DECRBY | DECRBY key-name amount —— 使key存储的值减少给定的整数 |
| INCRBYFLOAT | INCRBYFLOAT key-name amount —— 使key存储的值增加给定的浮点数(Redis 2.6以上可用) |

Redis还额外提供字符串的操作方法。
Redis可用的字符串操作命令
| 命令 | 用法示例和描述 |
|---|---|
| APPEND | APPEND key-name value —— 使key存储的字符串追加给定的值 |
| GETRANGE | GETRANGE key-name start end —— 获取从start到end的所包含的子字符串 |
| SETRANGE | SETRANGE key-name offset value —— 使子字符串从给定位置开始覆盖为给定值 |
| GETBIT | GETBIT key-name offset —— 将字节串作为比特串处理,并返回字符串中给定比特偏移量的比特值 |
| SETBIT | SETBIT key-name offset value —— 将字节串作为比特串处理,设置指定比特偏移量的值为给定比特 |
| BITCOUNT | BITCOUNT key-name [start end] —— 统计字符串中比特值为1的数量,可选参数为起始和结束位 |
| BITOP | BITOP operation dest-key key-name [key-name ...] —— 在提供的字符串执行一个位操作运算,AND, OR, XOR,或NOT, 存储结果到目标key |
GETRANGE AND SUBSTR: 在过去,GETRANGE被命名为SUBSTR, Python客户端依旧沿用substr()方法获取字符串的子串。当Redis版本高于2.6时,应该使用getrange()方法,低于2.6版本使用substr()方法。
当使用SETRANGE和SETBIT写入strings时,如果STRING原先不够长,Redis将会在更新数据之自动以null填充STRING,但是当使用GETBIT读取比特数时,任何超出STRING结尾的部分以0处理。下面将看到这一类的用法。
