String
1. String 是 Redis 最基本的类型,一个 key 对应一个 value。
2. String 类型是二进制安全的, Redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化 的对象。
3. String 类型是 Redis 基本的数据类型,一个 Redis 中字符串 value 最多可以是 512M
常用指令
1.set <key><value>
添加键值对
2.get <key>
查询对应键值
3.append <key><value>
- 将给定的<value> 追加到原值的末尾
- 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
- 如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。
- 返回值:整数:追加指定值之后, key 中字符串的长度。
4.strlen <key>
获得值的长度
5.setnx <key><value>
- 只有在key 不存在时设置key 的值
- 指定的 key 不存在时,为 key 设置指定的值,这种情况下等同 SET 命令。当 key存在时,什么也不做。
- 返回值: 整数:1 如果key被设置了 0 如果key没有被设置
6.incr <key>
将key 中储存的数字值(字符串)增1, 只能对数字值操作,如果为空,新增值为1
- 如果key存在,将 key 中储存的数字值增一。
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
- 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误 ERR ERR hash value is not an integer。
- 返回值:整数: 执行 INCR 命令之后 key 的值。
7.decr <key>
将key 中储存的数字值(字符串)减1 , 只能对数字值操作,如果为空,新增值为-1
8.incrby / decrby <key><步长>
将key 中储存的数字值增减。自定义步长
9.mset <key1><value1><key2><value2> .....
同时设置一个或多个key-value 对
10.mget <key1><key2><key3> .....
同时获取一个或多个value
11.msetnx <key1><value1><key2><value2> .....
同时设置一个或多个key-value 对,当且仅当所有给定key 都不存在, 原子性,有一个失败则都失败
12.getrange<key><起始位置><结束位置>
- 获得值的范围,类似java 中的substring
- 返回存储在 key 中的字符串的子串,由
start(从0开始)
和end
偏移决定(都包括在内)。 - 负数偏移提供相对字符串结尾的偏移。所以, -1 表示最后一个字符, -2 表示倒数第二个字符,
- 返回值:多行字符串:截取得到的子字符串。
13.setrange <key><起始位置><value>
用<value> 覆写<key>所储存的字符串值,从<起始位置>开始(索引从0 开始)。
14.setex <key><过期时间><value>
设置键值的同时,设置过期时间,单位秒。
15.getset <key><value>
以新换旧,设置了新值同时获得旧值