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

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

(2)递增数字
$: INCR key
当Redis存储的字符串类型为整数形式时,可以使用 INCR 实现键值递增,并返回递增后的值。
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 
(3)增加指定的整数
$: INCRBY key increment
通过increment参数指定一次增加的数值,如:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 
(4)减少指定的整数
$: DECR key
$: DECRBY key decrement
第一个命令递减1,第二个命令根据decrement参数指定递减的值:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 
(5)增加指定浮点数
$: INCRBYFLOAT key increment
类似于INCRBY命令,递增一个双精度浮点数:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 
(6)向尾部追加值
$: APPEND key value
作用是向键值末尾追加一个value。如果不存在则将该键的值设为value,即相当于 SET key value。返回值是追加后字符串的总长度。如:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 

(7)获取字符串长度
$: STRLEN key
该命令返回字符串的长度,如果键不存在则返回 0:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 
(8)同时获得/设置多个键值
$: MGET key [key ...]
$: MSET key value [key value ...]
第一个命令是获得多个键值,第二个命令是设置多个键值:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路

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

  命令①可以获得一个字符串类型键指定位置的二进制位的值(0或1),索引从0开始:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
  注:如果获取的二进制位的索引 超出了键值的二进制为实际长度,则默认值是0。

命令②可以设置字符串类型键指定位置的二进制位的值,返回值是该位置的旧值。如果将foo键值设置为arr,可以通过操作将foo键的二进制位的索引第6位设为0,第7位设为1:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路

  命令③可以获得字符串类型键中,值是1的二进制位个数:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
  还可以通过参数限制统计的字节范围,比如仅统计前两个字节(即"aa"):
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 
命令④可以对多个字符串类型键进行位运算,并将结果存储在destkey参数指定的键中。该命令支持的运算操作有AND、OR、XOR和NOT。例如对bar和aar进行OR运算:
其运算流程如下图:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
  运算结果为:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路



(4)减少指定的整数
$: DECR key
$: DECRBY key decrement
第一个命令递减1,第二个命令根据decrement参数指定递减的值:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 
(5)增加指定浮点数
$: INCRBYFLOAT key increment
类似于INCRBY命令,递增一个双精度浮点数:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 
(6)向尾部追加值
$: APPEND key value
作用是向键值末尾追加一个value。如果不存在则将该键的值设为value,即相当于 SET key value。返回值是追加后字符串的总长度。如:
Redis基本类型操作类型——字符串类型(string) - 绽放de烟花 - 猿之路
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值