Prechádzať zdrojové kódy

update add_data_with_zset

liqian 2 rokov pred
rodič
commit
6938a268bd
1 zmenil súbory, kde vykonal 18 pridanie a 1 odobranie
  1. 18 1
      db_helper.py

+ 18 - 1
db_helper.py

@@ -82,8 +82,25 @@ class RedisHelper(object):
         :param expire_time: 过期时间,单位:s,默认7天
         :return: None
         """
+        if not data:
+            return
         conn = self.connect()
-        conn.zadd(key_name, data)
+        # 数据量大时一次性写入耗时长,分批次写入
+        keys_list = list(data.keys())
+        print(len(keys_list))
+        zadd_data = {}
+        for i, key in enumerate(keys_list):
+            if i % 100 == 0:
+                print(i)
+                if zadd_data:
+                    print(f'==={i}')
+                    conn.zadd(key_name, zadd_data)
+                zadd_data = {key: data.get(key)}
+            else:
+                zadd_data[key] = data.get(key)
+        if zadd_data:
+            print(len(zadd_data))
+            conn.zadd(key_name, zadd_data)
         # 设置过期时间
         conn.expire(key_name, int(expire_time))