学习自:Redis 的五种数据类型及其底层原理_redis的五种数据类型_ZJE_ANDY的博客-CSDN博客
Redis 的五种基本数据类型_redis的五种数据类型_喵先森爱吃鱼的博客-CSDN博客
Redis是K-V结构的数据库。
Redis有5种常用数据类型(这里的数据类型,都是针对K-V对中的V的类型):
- String
- List
- Set
- Hash(就是Python中的dict,{name:"Jack",age:21})
- Zset(有序集合)
1、String
String是Redis最基本的数据类型,一个Key对应一个Value。Redis的String可以表示任何数据,例如jpg图像或者序列化的对象,String最大能存储512MB。
根据字符串格式的不同,又可以分为3类:
- string:普通字符串
- int:整数类型,可以做自增自减操作
- float:浮点类型,可以做自增自减操作
不管哪种格式,在底层都是以字节数组的形式存储,只是编码方式不同。
值类型 |
值 |
| string | hello world |
| int | 10 |
| float | 92.5 |
命令(不区分大小写)
命令 |
用法 |
说明 |
| append | append K V |
不存在K时,先创建V 存在K时,在V后追加 |
| strlen | strlen K | K对应的V的长度 |
| set | set K V | 添加一个K-V对 |
| get | get K | 获取K对应的V |
| getset | getset K V | 获取K的原V,并将其设置为新V |
| mset | mset K1 V1 K2 V2 | 一次增加多个K-V |
| mget | mget K1 K2 ... | 一次获取多个K的V |
| incr | incr K | K对应的V(整型)自增1 |
| incrby | incrby K n | K对应的V(整型)自增n |
| incrbyfloat | incrbyfloat K n | K对应的V(浮点)自增n |
| decr | decr K | 自减1 |
| decrby | decrby K n | 自减n |
| sertange | setrange K start V | 从start开始,用新V替换原V的子串 |
| getrange | getrange K start end | 取K对应的V的子串(start与end可以是负数,-1表示最后一个字符,-2代表第二个……) |
| setex | setex K t V | 设置过期时间t秒,过期时间前K的值为V,超过t后K失效 |
| psetex | psetex K t V | 设置过期时间t毫秒,过期时间前K的值为V,超过t后K失效 |
strlen:计算长度

append:在V后追加,如果K-V不存在,则相当于新建

decr:自减,如果K不存在则V置0

decrby:指定步长的自减

getrange:获取子串

getset:获取K的原V,设置新V

incr、incrby:整型自增


decr、decrby:整型自减


incrbyfloat:浮点自增

mget、mset:一次存取多个

setex:设置过期时间(秒)

psetex:设置过期时间(毫秒)

setrange:范围替换

如果K的原V长度小于偏移量,则不足的地方用0补齐
