码迷,mamicode.com
首页 > 其他好文 > 详细

redis 源码阅读之 redis.c

时间:2020-05-27 01:06:53      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:bre   function   bnu   hashing   loop   serve   cti   ble   done   

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

标签:bre   function   bnu   hashing   loop   serve   cti   ble   done   

原文地址:https://www.cnblogs.com/tmortred/p/12969590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!