(四)Redis基本类型——字符串类型(string)

1、字符串类型
(1)赋值和取值
$: SET key value
$: GET key
字符串类型是Redis中最基础的数据类型,它能存储任何形式的字符串,包括二进制数据。你可以应其存储用户的邮箱、JSON化的对象甚至是一张图片。一个字符串类型键允许存储的最大容量是 512 MB。
SET 和 GET 是Redis中最简单的两个命令,当键不存在时会返回空结果:

(2)递增数字
$: INCR key
当Redis存储的字符串类型为整数形式时,可以使用 INCR 实现键值递增,并返回递增后的值。
 
(3)增加指定的整数
$: INCRBY key increment
通过increment参数指定一次增加的数值,如:
 
(4)减少指定的整数
$: DECR key
$: DECRBY key decrement
第一个命令递减1,第二个命令根据decrement参数指定递减的值:
 
(5)增加指定浮点数
$: INCRBYFLOAT key increment
类似于INCRBY命令,递增一个双精度浮点数:

 
(6)向尾部追加值
$: APPEND key value
作用是向键值末尾追加一个value。如果不存在则将该键的值设为value,即相当于 SET key value。返回值是追加后字符串的总长度。如:
 

(7)获取字符串长度
$: STRLEN key
该命令返回字符串的长度,如果键不存在则返回 0:
 
(8)同时获得/设置多个键值
$: MGET key [key ...]
$: MSET key value [key value ...]
第一个命令是获得多个键值,第二个命令是设置多个键值:

(9)位操作
① $: GETBIT key offset
② $: GETBIT key offset value
③ $: BITCOUNT key [start] [end]
④ $: BITOP operation destkey key [key ...]
一个字节由8个二进制位组成,Redis提供了以上4个命令可以直接对二级制位进行操作。我们先将foo赋值为bar:
bar的3个字母对应的ASCII码分别为98、97、114,转换为二进制后对应的二进制结构如下图:

  命令①可以获得一个字符串类型键指定位置的二进制位的值(0或1),索引从0开始:

  注:如果获取的二进制位的索引 超出了键值的二进制为实际长度,则默认值是0。

命令②可以设置字符串类型键指定位置的二进制位的值,返回值是该位置的旧值。如果将foo键值设置为arr,可以通过操作将foo键的二进制位的索引第6位设为0,第7位设为1:

  命令③可以获得字符串类型键中,值是1的二进制位个数:

  还可以通过参数限制统计的字节范围,比如仅统计前两个字节(即"aa"):

 
命令④可以对多个字符串类型键进行位运算,并将结果存储在destkey参数指定的键中。该命令支持的运算操作有AND、OR、XOR和NOT。例如对bar和aar进行OR运算:
其运算流程如下图:
  运算结果为:



(4)减少指定的整数
$: DECR key
$: DECRBY key decrement
第一个命令递减1,第二个命令根据decrement参数指定递减的值:
 
(5)增加指定浮点数
$: INCRBYFLOAT key increment
类似于INCRBY命令,递增一个双精度浮点数:

 
(6)向尾部追加值
$: APPEND key value
作用是向键值末尾追加一个value。如果不存在则将该键的值设为value,即相当于 SET key value。返回值是追加后字符串的总长度。如:
 

你可能感兴趣的:(Redis)