+/* If the percentage of used slots in the HT reaches REDIS_HT_MINFILL
+ * we resize the hash table to save memory */
+void tryResizeHashTables(void) {
+ int j;
+
+ for (j = 0; j < server.dbnum; j++) {
+ long long size, used;
+
+ size = dictSlots(server.db[j].dict);
+ used = dictSize(server.db[j].dict);
+ if (size && used && size > REDIS_HT_MINSLOTS &&
+ (used*100/size < REDIS_HT_MINFILL)) {
+ redisLog(REDIS_NOTICE,"The hash table %d is too sparse, resize it...",j);
+ dictResize(server.db[j].dict);
+ redisLog(REDIS_NOTICE,"Hash table %d resized.",j);
+ }
+ }
+}
+