Redis(五)--- Redis的持久化RDB与AOF

一、Redis数据库

我们都知道Redis是基于内存的数据库,数据是以key-value键值对的方式存储的,那么key-value键值对是随意放在内存中的么,其实Redis的服务会创建很多的数据库空间,这些key-value键值对都是在各个数据库空间中存储的。

当我们使用客户端工具链接Redis服务时,会在客户端中看到一系列的db*命名的项(如图),这些就是一个个数据库,Redis初始化创建16个数据库,数据库创建个数可以在配置文件中修改。

Redis(五)--- Redis的持久化RDB与AOF

而在命令行模式中是看不到这些数据库的具体数量的,但在命令行提示符的右侧会提示我们当前处于哪个数据库(如图),并且可以用上一章说到的SELECT命令进行数据库的切换;客户端默认连接第一个数据库,即0号数据库。

Redis(五)--- Redis的持久化RDB与AOF

(1)数据库键空间

key-value键值对存储在各个数据库中,而每个数据库内部都是由一个redisDb结构,结构中有若干个属性,最主要的有两个属性dict、expires。

1 typedef struct redisDb { 2 // ... 3 // 数据库键空间,保存着数据库中的所有键值对 4 dict *dict; 5 6 // 过期字典,保存着键的过期时间 7 dict *expires; 8 // ... 9 } redisDb;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsgxx.html