Redis支持五种数据结构,包括:
- String(字符串):最简单的类型,一个key对应一个value。适合简单数据
- Hash(哈希):是string类型的field和value的映射表,适合用于存储对象。适合多个字段的值的数据。
- List(列表):是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字。适合有顺序插入的数据,如消息队列、日志记录
- Set(集合):set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字。适合集合交、并、差运算。
- Sorted Set(排序set):和set相比,sorted set是将set中的元素增加了一个权重参数score,使得我们可以通过score排序。
Redis有2种存储策略:
1.RDB - 先临时表存储,再更新上一次持久化存储,达到数据恢复
2.AOF - 记录执行的语句,数据恢复时再直接执行
重启时,会优先用AOF。
3种使用模式
持久化 - 用RDB或AOF写入磁盘
内存淘汰 - 有5种,1不删(缺省) 2删最近最少用 3定时间删最近最少用 4定时随机删 5定时删存活最短的
定期 - 有固定和惰性,固定到一定时间直接删,惰性到访问时才检查是否删。