1,redis是一个高性能的开源内存数据存储系统,广泛用于缓存和数据持久化。Redis 的底层结构设计使它能够高效地处理各种数据操作,而他的底层结构是以key——value的方式进行存储的,主要的数据结构有以下几种:
1,字符串:
Redis 中最基本的数据类型,可以存储任意数据,如文本或二进制数据。底层实现
为一个简单的动态字符串结构。
2,hash:
存储键值对的集合。底层使用哈希表实现,当哈希表的键值对数目不多时,Redis
会使用更为高效的压缩存储方式。
3,list:
有序的字符串集合,支持从两端推送和弹出操作。底层实现为双向链表或压缩
列表(ziplist),具体取决于列表的大小和操作频率。
4,set:
不允许重复元素的无序集合。底层使用哈希表实现。
5,zset:
类似于集合,但每个元素都有一个分数,用于排序。底层使用跳表(Skip List)
和哈希表实现。
2,虽然 Redis 是一个内存数据库,但它也提供了几种持久化机制来防止数据丢失
1,RDB (Redis DataBase):定期将内存中的数据快照保存到磁盘上。RDB 快照是通过
创建数据的全量备份来实现的。这种方法有助于在服务器崩溃时恢复数据,但可能会丢
失最后一次保存后的数据。
2,AOF (Append-Only File):记录所有对 Redis 数据库的写操作,每次写操作都会被追
加到一个日志文件中。这样可以在服务器崩溃时重放日志以恢复数据。AOF 可以配置不
同的同步策略(每秒、每次操作或从不)。