Procházet zdrojové kódy

在初始化接口中添加redis缓存

tanghongbin před 4 roky
rodič
revize
48c5b7d29b
1 změnil soubory, kde provedl 18 přidání a 2 odebrání
  1. 18 2
      Controller/UserController.py

+ 18 - 2
Controller/UserController.py

@@ -1859,7 +1859,15 @@ class InitInfoView(View):
                     update(**update_dict)
             if appBundleId:
                 user_ex_qs = UserExModel.objects.filter(userID_id=userID)
-                country = CommonService.getAddr(CommonService.get_ip_address(request))
+                redisObject = RedisObject(db=6)
+                ip = CommonService.get_ip_address(request)
+                key = 'ip_country_{ip}'.format(ip=ip)
+                data = redisObject.get_data(key=key)
+                if data:
+                    country = data
+                else:
+                    country = CommonService.getAddr(ip)
+                    redisObject.set_data(key=key, val=data, expire=3600)
                 if user_ex_qs.exists():
                     update_dict = {
                         'updTime': now_time,
@@ -1887,7 +1895,15 @@ class InitInfoView(View):
         appBundleId = request_dict.get('appBundleId', None)
         lang = request_dict.get('lang', '')  # 语言区域
         if username and appBundleId:
-            country = CommonService.getAddr(CommonService.get_ip_address(request))
+            redisObject = RedisObject(db=6)
+            ip = CommonService.get_ip_address(request)
+            key = 'ip_country_{ip}'.format(ip=ip)
+            data = redisObject.get_data(key=key)
+            if data:
+                country = data
+            else:
+                country = CommonService.getAddr(ip)
+                redisObject.set_data(key=key, val=data, expire=3600)
             user_qs = Device_User.objects.filter(username=username)
             if user_qs.exists():
                 user = user_qs[0]