@@ -89,52 +89,12 @@ def _clear(self):
8989 if deleted >= max_delete :
9090 break
9191
92- # def alloc(self, md5sum: str, token_num: int) -> dict:
93- # with self.lock:
94- # t = time.time()
95- # # add new record
96- # if md5sum not in self._md5_to_record:
97-
98- # # full, need to clear some unused items
99- # if self.occupied >= self.capacity:
100- # self._clear()
101- # if self.occupied >= self.capacity:
102- # return None
103-
104- # id = uuid.uuid1()
105- # id = id.int
106- # self._check_and_set_new_id_range(token_num)
107- # record = Record(
108- # id=id,
109- # md5sum=md5sum,
110- # ref=1,
111- # data=False,
112- # embed=False,
113- # createtime=t,
114- # visittime=t,
115- # token_id=self.token_id_range_start,
116- # token_num=token_num,
117- # )
118- # self.token_id_range_start += token_num
119- # self._records[id] = record
120- # self._md5_to_record[md5sum] = record
121- # self.occupied += 1
122-
123- # # cache hit
124- # else:
125- # record = self._md5_to_record[md5sum]
126- # record.visittime = t
127- # record.ref += 1
128-
129- # return {"id": record.id, "token_id": record.token_id, "token_num": record.token_num}
130-
13192 def alloc_batch (self , md5_list : list [str ], token_num_list : list [int ]) -> list [dict ]:
13293 results = []
13394 with self .lock :
13495 for md5 , tnum in zip (md5_list , token_num_list ):
13596 t = time .time ()
13697 if md5 not in self ._md5_to_record :
137- # 若不存在则分配新记录(与alloc逻辑相同)
13898 if self .occupied >= self .capacity :
13999 self ._clear ()
140100 if self .occupied >= self .capacity :
@@ -158,7 +118,6 @@ def alloc_batch(self, md5_list: list[str], token_num_list: list[int]) -> list[di
158118 self ._md5_to_record [md5 ] = record
159119 self .occupied += 1
160120 else :
161- # 缓存命中,更新引用计数和访问时间
162121 record = self ._md5_to_record [md5 ]
163122 record .visittime = t
164123 record .ref += 1
@@ -169,23 +128,20 @@ def release(self, id: int) -> None:
169128 with self .lock :
170129 self ._records [id ].ref -= 1
171130
172- # def set_item_data(self, id: int) -> None:
173- # self._records[id].data = True
174-
175- # def get_item_data(self, id: int) -> bool:
176- # return self._records[id].data
131+ def set_items_data (self , ids : list [int ]) -> None :
132+ with self .lock :
133+ for id in ids :
134+ self ._records [id ].data = True
177135
178136 def get_items_data (self , ids : list [int ]) -> list [bool ]:
179137 with self .lock :
180138 return [self ._records .get (i ).data if i in self ._records else False for i in ids ]
181139
182- def set_items_data (self , ids : list [int ]) -> None :
140+ def set_items_embed (self , ids : list [int ]) -> None :
183141 with self .lock :
184- for i in ids :
185- self ._records [i ]. data = True
142+ for id in ids :
143+ self ._records [id ]. embed = True
186144
187- def set_item_embed (self , id : int ) -> None :
188- self ._records [id ].embed = True
189-
190- def get_item_embed (self , id : int ) -> bool :
191- return self ._records [id ].embed
145+ def get_items_embed (self , ids : list [int ]) -> list [bool ]:
146+ with self .lock :
147+ return [self ._records .get (i ).embed if i in self ._records else False for i in ids ]
0 commit comments