redis 源码阅读之 redis.c

Posted tmortred

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 源码阅读之 redis.c相关的知识,希望对你有一定的参考价值。

Misc

      /* Resize */
        for (j = 0; j < dbs_per_call; j++) {
            tryResizeHashTables(resize_db % server.dbnum);
            resize_db++;
        }

        /* Rehash */
        if (server.activerehashing) {
            for (j = 0; j < dbs_per_call; j++) {
                int work_done = incrementallyRehash(rehash_db % server.dbnum);
                rehash_db++;
                if (work_done) {
                    /* If the function did some work, stop here, we‘ll do
                     * more at the next cron loop. */
                    break;
                }
            }
        }

这段代码很奇怪, tryResizeHashTables 会创建 ht[1] 字典。 如果 server.activerhashing 配置为 0 。则不会 rehash, 那么在 tryResizeHashTable 中的新分配的 ht[1] 字典是不是就浪费了?

以上是关于redis 源码阅读之 redis.c的主要内容,如果未能解决你的问题,请参考以下文章

redis源码redis-check-aof.c

redis源码阅读-持久化之aof详解

redis集群源码阅读 之 集群握手

JDK源码阅读之 HashMap

redis源码阅读-之哨兵流程

redis源码阅读-持久化之RDB