Redis数据结构介绍
Redis是一个key-value的数据库,key一般是String类型,不过value的类型有多种类型:
类型 | 举例 |
---|
String | hello world |
Hash | {name: “Tom”,age: 1} |
List | [A -> B -> C ->D] |
Set | {A ,B ,C} |
SortesSet | {A: 1,B: 2,C: 3} |
GEO | {A: (120.3, 30.5) } |
BitMap | 0110110101110101011 |
HyperLog | 0110110101110101011 |
前五个是基本类型,后三个是特殊类型
Redis命令可以参考官方网址:https://redis.io/commands
Redis通用命令,常见的有:
KEYS:查看符合模板的所有key,不建议在生产环境设备上使用
KEYS * 查看所有的key值
DEL:删除一个指定的key
EXISTS:判断key是否存在 存在返回1,不存在返回0
EXPIRE:给一个key设置有效期,有效期到期时key会被自动删除
TTL:查看一个key的剩余有效期
String类型
String类型,也就是字符串类型,是Redis中最简单的储存类型。其value是字符串,不过根据字符串的格式不同,又可以分为三类:
- String:普通字符串
- int:整型类型,可以做自增、自减操作
- float:浮点型,可以做自增、自减操作
不管哪种格式类型,底层都是字节数组形式储存,只不过是编码方式不同。字符串类型的最大空间不能超过512M
key | value |
---|
msg | hello world |
num | 10 |
score | 95.5 |
String类型常见命令:
String的常见命令有:
SET:添加或者修改已经存在的一个String类型的键值对
GET:根据key获取String类型的value
MSET:批量添加多个String类型的键值对
MGET:根据多个key获取多个String类型的value
INCR:让一个整型的key自增1
INCRBY:让一个整型的key自增并指定步长,例如 incrby num 2 让num值自增2
INCRBYFLOAT:让一个浮点类型的数字自增并指定步长
SETNX:添加一个String类型的键值对,前提是这个key不存在,否则不执行
SETEX:添加一个String类型的键值对,并且指定有效期