Redis数据类型:字符串string
- 字符类型操作
- 数值型操作
- bitmap位图二进制操作
字符串类型是Redis中最基础的数据类型,是由字节组成的序列,是二进制安全的,意味着该类型可以接受任何格式的数据,如JPEG图像数据或者JSON对象信息等,是标准的key-value,一般来存字符串、整数和浮点数。value最多可容纳的数据为512MB。
应用场景:用于统计网站访问数量、当前在线人数、秒杀、点赞、评论,可规避并发下,对数据库的事务操作。
字符类型操作
1.给一个key设置值,可设置过期时间,nx表示key不存在时才能存储(只能新建),xx表示存在时才能修改(只能修改)。
SET key value [expiration EX seconds|PX milliseconds] [NX|XX]
2.给一个key设置值,当key都不存在时,才能设置成功。
SETNX key value
3.取出key的值。
GET key
4.给一个key的值追加字符串。
APPEND key value
5.批量设置键值对。
MSET key value [key value ...]
6.批量获取。
MGET key [key ...]
7.批量设置键值对,当所有的key都不存在时,才能设置成功。
MSETNX key value [key value ...]
8.设置新值并且返回旧值。
GETSET key value
9.设置覆盖从偏移量开始的部分。(覆盖范围长度是新字符串的长度)
SETRANGE key offset value
10.获取key值中的一部分。
GETRANGE key start end
11.获取key对应值得长度。
STRLEN key
数值型操作
1.自增1。(只能针对整数操作)
INCR key
2.指定增减的数量。(只能针对整数操作,increment如果是正整数,就是增,如果是负整数,就是减)
INCRBY key increment
3.自减1。(只能针对整数操作)
DECR key
4.指定增减的数量。(只能针对整数操作,decrement如果是正整数,就是减,如果是负整数,就是增)
DECRBY key decrement
bitmap位图二进制操作
1.设置二进制偏移量的bit值。
SETBIT key offset value
2.计算字节中出现1的个数。
BITCOUNT key [start end]
3.获取第一次出现bit的偏移量值。
BITPOS key bit [start] [end]
4.对二进制数进行 AND(逻辑与) 、 OR(逻辑或)、 NOT(逻辑非) 、 XOR(逻辑异或) 操作,并结果放到指定的key中。
BITOP operation destkey key [key ...]
说明:
有关位图二进制的操作,这里详细说一下。先看下图
首先每个字节由8位二进制组成(计算机常识),图上只列了三个字节,每个字节都有正负下标值,这个就是上面方法中提到的start或者end,而上面方法中提到的offset就是图中标注字节中二进制的偏移量。
比如:
下面命令是设置字节的第2位偏移量值为1(偏移量是从0开始的)
SETBIT k1 1 1
下面命令取出的值就是“@”,因为“@”在ASCII中的二进制表示为:01000000
GET k1