redis 数据库结构

 redis 数据库结构

         redis所有数据都保存在redisServer结构的db数组中,每个db对象都是一个redisDB结构。每个redisDB结构代表一个数据库。

typedef struct redisServer {

    ...

    // 数组,保存服务器所有数据库
    redisDb *db;

    ...

} redisServer;

typedef struct redisDb {

    ...

    // 保存着数据库中的所有键值对数据
    // 这个属性也被称为键空间(key space)
    dict *dict;

    ...

} redisDb;
      每个redisDB就是一个dict. 数据库默认创建16个 (可以通过配置修改)数据库,即16个字典,所有数据保存在这16个字典里面。实际使用总应该根据业务合理分配使用这16个数据库。redis客户端默认链接数据库0,可以通过select 命令来切换数据库:

[root.adminssh@localhost ~]$ redis-cli 
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> 

[1]表示切换到了1号数据库。

 

      数据库数据既然存储在dict字典里面,那么数据库空间的扩展和收缩规则就和字典是一样的。具体参考redis 字典。

你可能感兴趣的:(redis)