Redis数据库底层实现原理

血红的双手。 提交于 2019-12-11 18:43:16

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

(一)基本数据结构

1)redisServer

        Redis服务器使用redisServer结构保存服务器的状态,其中,dbnum表示服务器的数据库数量,一个redisDb类型的数组保存所有的数据库。

struct redisServer {
   //服务器的数据库数量
   int dbnum;
   
   //一个数组,保存服务器中的所有数据库
   redisDb *db;
}

 

2)redisClient

        Redis客户端使用redisClient结构来记录客户端当前的状态,其中,一个redisDb类型的指针指向了客户端当前使用的数据库。

struct redisClient { 
   //记录客户端当前正在使用的数据库
   redisDb *db;
}

        redisClient.db指针指向redisServer.db数组中的一个元素,被指向的元素就是客户端的目标数据库。通过修改redisClient.db指针,让它指向服务器中的不同数据库,从而实现切换目标数据库的功能。

 

3)redisDb

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!