Redis-------String类型常用命令
String类型的常见命令
String的常用命令有:
| 命令 | 描述 |
| set <key> <value> | 设置键值对,成功返回1,失败返回0,key值已经存在则覆盖原值 |
| get <key> | 根据key返回对应的value |
| setnx <key> <value> | 只有key 不存在时,设置key的值,key值存在则无法设置 |
| append <key> <value> | 给指定的key后面追加<value> 并返回总长度 |
| strlen <key> | 获取key对应的value的长度 |
| incr <key> | 将key中储存则数字值增1,只能对数字值操作,如果为空,新值为1 |
| decr <key> | 将key中储存的数字值减1 |
| incrby/decrby <key> <步长> | 将key中储存的数字值增减。自定义步长 |
| mset <key><value>.. | 可以同时设置多组键值对 |
| mget <key>... | 可以同时一个或多个key的value值 |
| msetnx <key1> <value1> <key2><value2>.... | 同时设置多组键值对 |
| mget <k1> <k2> ... | 可以获取1个或多个键值对 |
| msetnx <key1> <value1> <key2> <value2>.... | 同时设置多组键值对,具有原子性 |
| getrange <key> <起始位置> <结束位置> | 获取值的范围,类似java中的subString,前包,后包,下标从0开始 |
| setrange <key> <起始位置> <value> | 用value 覆写key中所储存的字符串的值,从起始位置索引覆写 |
| setex <key> <过期时间> <value> | 设置键值对的同时,设置过期时间,单位秒 |
用法举例

Key的结构
Redis的key允许多个单词形成层级结构,多个单词之间用":"隔开,格式如下:
项目名:业务名:类型:id
这个格式并非固定,也可以根据自己的需求来删除或添加词条
例如我们的项目名称叫heima,有user和product两种不同类型的数据,我们可以这样定义key:
- user相关的key:heima:user:1
- product相关的key:heima:product:1
如果Value是一个java对象,例如一个User对象,则可以将对象序列化为JSON字符串后存储:
| KEY | VALUE |
| heima:user:1 | {"id":1,"name":"Jack","age":21} |
| heima:product:1 | {"id":1,"name":"xiaomi11","price":4999} |
set heima:user:1 '{"id":1,"name":"Jack","age":21}'
set heima:user:2 '{"id":2,"name":"Rose","age":18}'
set heima:product:1 '{"id":1,"name":"xiaomi11","price":4999}'



浙公网安备 33010602011771号