@@ -910,128 +910,18 @@ void displayDataTypeArray(keysizeInfo *keysize_array, int length) {
910910 }
911911}
912912
913- void decreaseDataTypeArrayPreviousValue (keysizeInfo * keysize_array , int low , int high , int value ) {
914- if (keysize_array [low ].element_size == value ) {
915- keysize_array [low ].num -- ;
916- } else if (keysize_array [high ].element_size == value ) {
917- keysize_array [high ].num -- ;
918- } else {
919- while (low + 1 < high ) {
920- int mid = low + (high - low ) / 2 ;
921- if (value > keysize_array [mid ].element_size ) {
922- low = mid ;
923- } else {
924- high = mid ;
925- }
926- }
927- if (value == keysize_array [high ].element_size ) {
928- keysize_array [high ].num -- ;
929- } else {
930- keysize_array [low ].num -- ;
931- }
932- }
933- }
934-
935- void increaseDataTypeArrayCurrentValue (keysizeInfo * keysize_array , int low , int high , int value ) {
936- if (keysize_array [low ].element_size == value ) {
937- keysize_array [low ].num ++ ;
938- } else if (keysize_array [high ].element_size == value ) {
939- keysize_array [high ].num ++ ;
940- } else {
941- while (low + 1 < high ) {
942- int mid = low + (high - low ) / 2 ;
943- if (value > keysize_array [mid ].element_size ) {
944- low = mid ;
945- } else {
946- high = mid ;
947- }
948- }
949- if (value == keysize_array [high ].element_size ) {
950- keysize_array [high ].num ++ ;
951- } else {
952- keysize_array [low ].num ++ ;
953- }
954- }
955- }
956-
957- void updateHashKeySizeArray (serverDb * db , long previous , long curr ) {
958- int low = 0 ;
959- int high = db -> hash_array_length - 1 ;
960- if (previous != 0 ) {
961- decreaseDataTypeArrayPreviousValue (db -> hash_array , low , high , previous );
962- }
963- if (curr != 0 ) {
964- increaseDataTypeArrayCurrentValue (db -> hash_array , low , high , curr );
965- }
966- }
967-
968- void updateListKeySizeArray (serverDb * db , long previous , long curr ) {
969- int low = 0 ;
970- int high = db -> list_array_length - 1 ;
971- if (previous != 0 ) {
972- decreaseDataTypeArrayPreviousValue (db -> list_array , low , high , previous );
973- }
974- if (curr != 0 ) {
975- increaseDataTypeArrayCurrentValue (db -> list_array , low , high , curr );
976- }
977- }
978-
979- void updateSetKeySizeArray (serverDb * db , long previous , long curr ) {
980- int low = 0 ;
981- int high = db -> set_array_length - 1 ;
982- if (previous != 0 ) {
983- decreaseDataTypeArrayPreviousValue (db -> set_array , low , high , previous );
984- }
985- if (curr != 0 ) {
986- increaseDataTypeArrayCurrentValue (db -> set_array , low , high , curr );
987- }
988- }
989-
990- void updateStringKeySizeArray (serverDb * db , long previous , long curr ) {
991- int low = 0 ;
992- int high = db -> string_array_length - 1 ;
993- if (previous != 0 ) {
994- decreaseDataTypeArrayPreviousValue (db -> string_array , low , high , previous );
995- }
996- if (curr != 0 ) {
997- increaseDataTypeArrayCurrentValue (db -> string_array , low , high , curr );
998- }
999- }
1000-
1001- void updateZsetKeySizeArray (serverDb * db , long previous , long curr ) {
1002- int low = 0 ;
1003- int high = db -> zset_array_length - 1 ;
1004- if (previous != 0 ) {
1005- decreaseDataTypeArrayPreviousValue (db -> zset_array , low , high , previous );
1006- }
1007- if (curr != 0 ) {
1008- increaseDataTypeArrayCurrentValue (db -> zset_array , low , high , curr );
1009- }
1010- }
1011-
1012913void updateKeySizeArray (serverDb * db , robj * dstkey ) {
1013914 robj * t_obj = lookupKeyWrite (db , dstkey );
1014915 if (t_obj ) {
1015916 if (t_obj -> type == OBJ_STRING ) {
1016- updateStringKeySizeArray (db , stringObjectLen (t_obj ), 0 );
1017- // TO DO for memory usage
1018- db -> string_number_of_keys -- ;
1019917 } else if (t_obj -> type == OBJ_LIST ) {
1020- updateListKeySizeArray (db , listTypeLength (t_obj ), 0 );
1021918 updateBigKeyList (t_obj , listTypeLength (t_obj ), 0 , LIST_TYPE );
1022- db -> list_number_of_keys -- ;
1023919 } else if (t_obj -> type == OBJ_SET ) {
1024- updateSetKeySizeArray (db , setTypeSize (t_obj ), 0 );
1025920 updateBigKeyList (t_obj , setTypeSize (t_obj ), 0 , SET_TYPE );
1026- db -> set_number_of_keys -- ;
1027921 } else if (t_obj -> type == OBJ_ZSET ) {
1028- updateZsetKeySizeArray (db , zsetLength (t_obj ), 0 );
1029922 updateBigKeyList (t_obj , zsetLength (t_obj ), 0 , SORTED_SET_TYPE );
1030- db -> zset_number_of_keys -- ;
1031923 } else if (t_obj -> type == OBJ_HASH ) {
1032- updateHashKeySizeArray (db , hashTypeLength (t_obj ), 0 );
1033924 updateBigKeyList (t_obj , hashTypeLength (t_obj ), 0 , HASH_TYPE );
1034- db -> hash_number_of_keys -- ;
1035925 } else if (t_obj -> type == OBJ_STREAM ) {
1036926 }
1037927 }
@@ -3094,21 +2984,6 @@ void bigkeyListInit(void) {
30942984 server .zset_bigkey_info = listCreate ();
30952985}
30962986
3097- void resetDBKeySizeArray (serverDb * db ) {
3098- db -> string_number_of_keys = 0 ;
3099- db -> list_number_of_keys = 0 ;
3100- db -> set_number_of_keys = 0 ;
3101- db -> hash_number_of_keys = 0 ;
3102- db -> zset_number_of_keys = 0 ;
3103- for (int count = 0 ; count < KEYSIZE_ARRAY_SIZE ; count ++ ) {
3104- db -> list_array [count ].num = 0 ;
3105- db -> set_array [count ].num = 0 ;
3106- db -> hash_array [count ].num = 0 ;
3107- db -> zset_array [count ].num = 0 ;
3108- db -> string_array [count ].num = 0 ;
3109- }
3110- }
3111-
31122987void initServer (void ) {
31132988 signal (SIGHUP , SIG_IGN );
31142989 signal (SIGPIPE , SIG_IGN );
0 commit comments