Redis可以作为一个非关系型数据库存储数据,存储形式为key-value,其中key是一定为字符串形式,而valueRedis则是给我们提供了多种数据形式,今天我们学习value为String的一些常见命令和重要知识点。
常见命令
下面是String类型平时用到的一些常见命令:
SET& GET
SET
- 语法:SET KEY VALUE NX\|XX EX \| PX
- 解释说明:SET操作是创建一个指定的键值对存储在redis中,如果key不存在,则创建一个新的key,值为value;如果key存在,就将value的值覆盖原值。
- 附加选项【可加可不加,根据实际情况】
|----|------------------------------|
| NX | 如果key不存在才创建;如果key存在放回nil |
| XX | 如果key不存在不创建,返回nil;只有可以已存在才创建 |
| EX | 设置key的过期时间,单位为秒 |
| PX | 设置key的过期时间,单位为毫秒 |
GET
- 语法:GET KEY
- 解释说明:查询指定key的value如果key不存在返回nil
示例

MSET & MGET
MSET
- 语法:MSET KEY1 VALUE1 KEY2 VALUE2 KEY3 VALUE3...
- 解释说明:同时设置一个或多个key
- 附加选项: KEY2 VALUE2 KEY3 VALUE3...表示既可以选择设置一个,也可以选择设置任意个key
- 注意事项:若是key已经存在,则用value覆盖原值
MGET
- 语法:MGET KEY1 KEY2 KEY3 ...
- 解释说明:同时查询一组或多组key的值
- 附加选项:KEY2 VALUE2 KEY3 VALUE3...表示既可以选择查询一组key的值,也可以查询任意组的值
- 注意事项:如果key不存在,在对应的位置返回nil
示例


SETEX & SETNX & PSETNX
相当于上述的set key value ex/nx/px,这里不再赘述。
注意⚠️:没有SETXX这个操作!
INCR & INCRBY
INCR
- 语法:INCR KEY
- 解释说明:key的值value自增1
INCRBY
- 语法:INCRBT KEY INCREMENT
- 解释说明:key的值自增INCREMENT
示例

DECR & DECRBY
DECR
- 语法:DECR KEY
- 解释说明:key的值自减1
DECRBY
- 语法:DECRBY KEY INCREMENT
- 解释说明:key的值自减INCREMENT
示例

注意事项:value必须为整数,不能为其他类型,如果是自增/减INCREMENT,则INCREMENT也必须为整数
返回值均为设置后的数值
INCRBYFLOAT
- 语法:INCRBYFLOAT KEY INCREMENT
- 解释说明:key的值自增INCREMENT
- 注意事项:key的值必须为浮点数,但INCREMENT整数浮点数均可
- 返回值:操作后的数值
示例


STRLEN
- 语法:STRLEN KEY
- 解释说明:查询String字符串的长度
- 注意事项:value必须为string,不能为其他数据类型。单位为字节。
示例

APPEND
- 语法:APPEND KEY VALUE
- 解释说明:在指定key的值后面添加value,相当于java中xx.append()操作
- 返回值:操作后的长度,单位为字节
示例


注意:即使是int类型的字符串,也是看作string操作,并不是进行加法。
SETRANGE & GETRANGE
SETRANGE
- 语法:SETRANGE KEY OFFSET VALUE
- 解释说明:从key的offset偏移量开始用value覆盖原位置上的值
- 注意:offset从零开始,操作后value的长度不一定为原值
GETRANGE
- 语法:GETRANGE KEY START END
- 解释说明:查询start,end区间value的值
示例

注意事项:如果getrange操作时,end超过长度,只返回到最后一个字节;如果start或end均超过原来的长度,返回"";如果start为负值,返回""。




