redis数据类型之字符串(String)类型的基本命令

  • 设置值
  • 1. set设置多个键值对
  • 2. mset设置多个键值对
  • 3. setnx设置不存在的键值对
  • 4. msetnx设置多个不存在的键值对
  • 获取值
  • 1. get获取值
  • 2. mget获取多个键值对的值
  • 3. getset为键设置新值
  • 4. strlen计算值的字符长度
  • 5. getrange获取子字符串
  • 6. setrange替换字符串
  • 7. append追加字符串
  • 生存时间
  • 1. setex设置过期时间
  • 2. psetex设置过期时间
  • 3. persist将键值对变成永久有效
  • 4. ttl获取键值对的剩余生存时间
  • 5. getrange获取子字符串
  • 6. setrange替换字符串
  • 位操作
  • 1. setbit设置键的偏移量
  • 2. getbit获取键的偏移量值
  • 3. bitcount计算比特位数量
  • 4. bitop对键进行位运算
  • 数值运算
  • 1. decr 让键减1
  • 2. incr 让键加1
  • 3. decrby 减去指定值
  • 4. incrby 增加指定值
  • 5. incrbyfloat 增加浮点值



目前Redis数据库 支持5中数据类型,分别是String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Sorted Set(有序集合)。这里介绍对于value是String类型的相关的操作命令,相关命令可以在

Redis online进行验证。

设置值

1. set设置多个键值对

```set key value [EX seconds] [PX seconds] [NX|XX]	```

 - EX seconds:过多少秒后失效,等价于setex key sconds value
 - PX seconds:过多少毫秒后失效
 - NX:相当于setnx key value 当key不存在是才设置
 - XX:表示当key存在是设置
 - 返回值: 如果成功返回OK,如果设置了NX或XX,失败返回空
 
 注意:使用set命令设置key时,key已经存在,会重置它的失效时间

2. mset设置多个键值对

mset key value [key value...]

- 返回值:总是返回OK
- 设置多个键值对,如果某个key已经存在则会覆盖旧值

注意:redis中单命令都是原子性的,如果其中一个key设置失败,那么所有的key都会失败

3. setnx设置不存在的键值对

setnx key value

- setnx = set if not exists,当key不存在时设置键值对
- 返回值: 设置成功返回1,否则返回0

4. msetnx设置多个不存在的键值对

msetnx key value [key value...]

- 同时设置多个不存在的键值对,如果其中某个key值已经存在,那么全部设置失败。msetnx是原子性的,要么全部成功,要么全部失败。
- 返回值:成功=1,失败=0

获取值

1. get获取值

get key

2. mget获取多个键值对的值

mget key [key...]

3. getset为键设置新值

getset key value

4. strlen计算值的字符长度

strlen key

5. getrange获取子字符串

getrange key start end

- start:0表示第一个字符
- end:-1 最后一个字符,以此类推

6. setrange替换字符串

setrange key offset value

7. append追加字符串

append key value

生存时间

1. setex设置过期时间

setex key seconds value

2. psetex设置过期时间

psetex key milliseconds value

3. persist将键值对变成永久有效

persist key

4. ttl获取键值对的剩余生存时间

ttl key

- 正数n:剩余时间n秒
- -2:表示键不存在
- -1:永久有效

5. getrange获取子字符串

getrange key start end

6. setrange替换字符串

setrange key offset value

位操作

1. setbit设置键的偏移量

setbit key offset value

- 使用setbit对key所存储的字符串值设置1或清除0指定偏移量上的位。当key不存在时,自动生成一个动态的字符串,根据设置的偏移量从2^0^~2^32^(bit映射被限制在512MB之内)
- 返回值:返回offset位置上原来存储的位

2. getbit获取键的偏移量值

getbit key offset

- 当key不存在时,返回0

3. bitcount计算比特位数量

bitcount key start end

- 返回值:返回被设为1的位的数量,key不存在时返回0

4. bitop对键进行位运算

bitop operation destkey key [key...]

- operation :位运算种类
  	1.AND 逻辑并
  	2.OR 逻辑或
  	3.NOT 逻辑非
  	4.XOR  逻辑异或
- destkey :保存计算结果的key
- key :参与运算的key,出了NOT操作,其他都可以接受多个key
- 返回值: destkey 中保存结果的字符串的长度,与输入key中最长的长度相等

数值运算

1. decr 让键减1

decr key

- 如果key不存在,则会被初始化为0
- 返回值:运算结果

2. incr 让键加1

incr key

- 如果key不存在,则会被初始化为0
- 返回值:运算结果

3. decrby 减去指定值

decrby key decrenent

- 如果key不存在,则会被初始化为0
- decrenent: 减去的量,可以是负数,相当于incrby
- 返回值:运算结果

4. incrby 增加指定值

incrby key increnent

- 如果key不存在,则会被初始化为0
- increnent: 增量,可以是负数,相当于decrby
- 返回值:运算结果

5. incrbyfloat 增加浮点值

incrbyfloat key increnent

- 如果key不存在,则会被初始化为0
- increnent: 增量,可以是负数
- 返回值:运算结果
注意: 计算后浮点精度只能保留小数点后17位