文章目录
Redis 是一个高性能的key-value数据库
特点
- 支持数据持久化,可以将内存中的数据保存在硬盘中,重启中再次加载可用。
- 不仅仅提供key-value类型的数据,还支持list、set、zset、hash等数据结构的存储
- 支持数据备份,即master-slave模式的数据备份
- 性能极高
- 丰富的数据结构
- 原子操作
- 丰富的特性:key过期等等
数据类型
Redis支持五种数据类型,string、hash、list、set、zset(有序集合,sorted set)
string 字符串
string值是redis中最基本的值,一个key对应一个value。
string类型是二进制安全的,这意味着可以包含任何数据,比如jpg图片或者序列化对象。
string类型最大能够存储512M的数据
hash 哈希
hash是一个键值对集合(key => value)集合
1 | HMSET myhash field1 value1 field2 value2 |
list 列表
Redis列表是简单的字符串列表,按照插入的顺序排序。可以添加一个元素到列表的头部和尾部
1 | lpush mylist value1 |
set 集合
set是string类型的无序集合。
set通过哈希表实现,所以添加,删除,查找的复杂度都是O(1)
1 | sadd myset member1 member2 |
zset 有序集合
与set一样是string类型的集合,且不允许重复成员。
不同的是每一个元素都会关联一个double类型的分数。redis通过分数来为集合中的成员从小到大来排序。
zset中的成员是唯一的,但分数(score)可以重复。
1 | zadd key score member |