Redis' set/setex/get => RedisExtensions' setjson/setexjson/getjson

Brightcells лет %!s(int64=8): %!d(string=назад)
Родитель
Сommit
a7b59d4389
9 измененных файлов с 30 добавлено и 48 удалено
  1. 2 4
      utils/redis/rapp.py
  2. 12 14
      utils/redis/rgroup.py
  3. 2 4
      utils/redis/rguest.py
  4. 4 6
      utils/redis/rmessage.py
  5. 2 4
      utils/redis/rorder.py
  6. 2 4
      utils/redis/rpatch.py
  7. 2 4
      utils/redis/rprice.py
  8. 2 4
      utils/redis/rprofile.py
  9. 2 4
      utils/redis/rsettings.py

+ 2 - 4
utils/redis/rapp.py

@@ -1,7 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-import json
4
-
5 3
 from operation.models import LatestAppInfo
6 4
 from utils.redis.connect import r
7 5
 from utils.redis.rkeys import LATEST_APP_INFO
@@ -16,10 +14,10 @@ def set_latest_app(src=0):
16 14
         appinfo = LatestAppInfo.objects.filter(src=src)[0].data
17 15
     except IndexError:
18 16
         appinfo = {}
19
-    r.set(LATEST_APP_INFO % src, json.dumps(appinfo))
17
+    r.setjson(LATEST_APP_INFO % src, appinfo)
20 18
     return appinfo
21 19
 
22 20
 
23 21
 def get_latest_app(src=0):
24 22
     """ 获取最新 APP 信息 """
25
-    return json.loads(r.get(LATEST_APP_INFO % src) or '{}') or set_latest_app(src)
23
+    return r.getjson(LATEST_APP_INFO % src) or set_latest_app(src)

+ 12 - 14
utils/redis/rgroup.py

@@ -1,7 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-import json
4
-
5 3
 from django.core.serializers.json import DjangoJSONEncoder
6 4
 
7 5
 from utils.redis.connect import r
@@ -16,7 +14,7 @@ from utils.redis.rkeys import (GROUP_INFO, GROUP_PHOTO_COMMENT_LIST, GROUP_PHOTO
16 14
 def set_group_info(group):
17 15
     """ 设置群组信息 """
18 16
     group_data = group.data
19
-    r.setex(GROUP_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, json.dumps(group_data, cls=DjangoJSONEncoder))
17
+    r.setexjson(GROUP_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, group_data, cls=DjangoJSONEncoder)
20 18
     return group_data
21 19
 
22 20
 
@@ -32,7 +30,7 @@ def set_group_info_by_id(group_id):
32 30
 
33 31
 def get_group_info(group_id):
34 32
     """ 获取群组信息 """
35
-    return json.loads(r.get(GROUP_INFO % group_id) or '{}') or set_group_info_by_id(group_id)
33
+    return r.getjson(GROUP_INFO % group_id) or set_group_info_by_id(group_id)
36 34
 
37 35
 
38 36
 # 群组用户信息相关
@@ -46,10 +44,10 @@ def set_group_users_info(group):
46 44
         'group_users': group_users,
47 45
         'admin_id': group.admin_id,
48 46
     }
49
-    r.setex(GROUP_USERS_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, json.dumps(group_users_data, cls=DjangoJSONEncoder))
47
+    r.setexjson(GROUP_USERS_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, group_users_data, cls=DjangoJSONEncoder)
50 48
 
51 49
     group_users_kv_data = {user_info.get('user_id', ''): user_info for user_info in group_users.get('passed', [])}
52
-    r.setex(GROUP_USERS_KV_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, json.dumps(group_users_kv_data, cls=DjangoJSONEncoder))
50
+    r.setexjson(GROUP_USERS_KV_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, group_users_kv_data, cls=DjangoJSONEncoder)
53 51
 
54 52
     return group_users_data, group_users_kv_data
55 53
 
@@ -66,7 +64,7 @@ def set_group_users_info_by_id(group_id):
66 64
 
67 65
 def get_group_users_info(group_id, user_id):
68 66
     """ 获取群组用户信息 """
69
-    group_users_data = json.loads(r.get(GROUP_USERS_INFO % group_id) or '{}') or set_group_users_info_by_id(group_id)[0]
67
+    group_users_data = r.getjson(GROUP_USERS_INFO % group_id) or set_group_users_info_by_id(group_id)[0]
70 68
     group_users, admin_id = group_users_data.get('group_users', {}), group_users_data.get('admin_id', '')
71 69
     if group_users and user_id != admin_id:
72 70
         [group_users.pop(k) for k in ['applying_count', 'applying']]
@@ -75,7 +73,7 @@ def get_group_users_info(group_id, user_id):
75 73
 
76 74
 def get_group_users_kv_info(group_id):
77 75
     """ 获取群组用户信息 """
78
-    return json.loads(r.get(GROUP_USERS_KV_INFO % group_id) or '{}') or set_group_users_info_by_id(group_id)[1]
76
+    return r.getjson(GROUP_USERS_KV_INFO % group_id) or set_group_users_info_by_id(group_id)[1]
79 77
 
80 78
 
81 79
 # 群组照片相关
@@ -86,13 +84,13 @@ def set_group_photo_data(group_id):
86 84
     from group.models import GroupPhotoInfo
87 85
     group_photos = GroupPhotoInfo.objects.filter(group_id=group_id, status=True)
88 86
     group_photos = [photo.photo_data for photo in group_photos]
89
-    r.set(GROUP_PHOTO_DATA % group_id, json.dumps(group_photos))
87
+    r.setjson(GROUP_PHOTO_DATA % group_id, group_photos)
90 88
     return group_photos
91 89
 
92 90
 
93 91
 def get_group_photo_data(group_id):
94 92
     """ 获取群组照片数据信息 """
95
-    return json.loads(r.get(GROUP_PHOTO_DATA % group_id) or '[]') or set_group_photo_data(group_id)
93
+    return r.getjson(GROUP_PHOTO_DATA % group_id, default='[]') or set_group_photo_data(group_id)
96 94
 
97 95
 
98 96
 def set_group_photo_thumbup_flag(photo_id, user_id):
@@ -123,13 +121,13 @@ def set_group_photo_comment_list(photo_id):
123 121
     from group.models import PhotoCommentInfo
124 122
     photo_comments = PhotoCommentInfo.objects.filter(photo_id=photo_id)
125 123
     photo_comments = [comment.comment_info for comment in photo_comments]
126
-    r.set(GROUP_PHOTO_COMMENT_LIST % photo_id, json.dumps(photo_comments, cls=DjangoJSONEncoder))
124
+    r.setjson(GROUP_PHOTO_COMMENT_LIST % photo_id, photo_comments, cls=DjangoJSONEncoder)
127 125
     return photo_comments
128 126
 
129 127
 
130 128
 def get_group_photo_comment_list(photo_id):
131 129
     """ 获取群组照片用户评论列表 """
132
-    return json.loads(r.get(GROUP_PHOTO_COMMENT_LIST % photo_id) or '[]') or set_group_photo_comment_list(photo_id)
130
+    return r.getjson(GROUP_PHOTO_COMMENT_LIST % photo_id, default='[]') or set_group_photo_comment_list(photo_id)
133 131
 
134 132
 
135 133
 def set_group_photo_thumbup_list(photo_id):
@@ -137,13 +135,13 @@ def set_group_photo_thumbup_list(photo_id):
137 135
     from group.models import PhotoThumbUpInfo
138 136
     photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=photo_id, thumbup=True)
139 137
     photo_thumbups = [thumbup.thumbup_info for thumbup in photo_thumbups]
140
-    r.set(GROUP_PHOTO_THUMB_UP_LIST % photo_id, json.dumps(photo_thumbups, cls=DjangoJSONEncoder))
138
+    r.setjson(GROUP_PHOTO_THUMB_UP_LIST % photo_id, photo_thumbups, cls=DjangoJSONEncoder)
141 139
     return photo_thumbups
142 140
 
143 141
 
144 142
 def get_group_photo_thumbup_list(photo_id):
145 143
     """ 获取群组照片用户点赞列表 """
146
-    return json.loads(r.get(GROUP_PHOTO_THUMB_UP_LIST % photo_id) or '[]') or set_group_photo_thumbup_list(photo_id)
144
+    return r.getjson(GROUP_PHOTO_THUMB_UP_LIST % photo_id, default='[]') or set_group_photo_thumbup_list(photo_id)
147 145
 
148 146
 
149 147
 def get_group_photo_watchers(photo_id):

+ 2 - 4
utils/redis/rguest.py

@@ -1,7 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-import json
4
-
5 3
 from utils.redis.connect import r
6 4
 from utils.redis.rkeys import GUEST_ENTRANCE_CONTROL_INFO
7 5
 
@@ -11,13 +9,13 @@ from utils.redis.rkeys import GUEST_ENTRANCE_CONTROL_INFO
11 9
 
12 10
 def set_guest_entrance_control(gen):
13 11
     """ 设置游客入口控制 """
14
-    r.set(GUEST_ENTRANCE_CONTROL_INFO, json.dumps(gen.data))
12
+    r.setjson(GUEST_ENTRANCE_CONTROL_INFO, gen.data)
15 13
     return gen.data
16 14
 
17 15
 
18 16
 def get_guest_entrance_control():
19 17
     """ 获取游客入口控制 """
20
-    return json.loads(r.get(GUEST_ENTRANCE_CONTROL_INFO) or '{}')
18
+    return r.getjson(GUEST_ENTRANCE_CONTROL_INFO)
21 19
 
22 20
 
23 21
 def delete_guest_entrance_control():

+ 4 - 6
utils/redis/rmessage.py

@@ -1,7 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-import json
4
-
5 3
 from message.models import SystemMessageDeleteInfo, SystemMessageReadInfo
6 4
 from utils.redis.connect import r
7 5
 from utils.redis.rkeys import SYSTEM_MESSAGE_DELETED_INFO, SYSTEM_MESSAGE_READ_INFO
@@ -14,23 +12,23 @@ def set_system_message_read_info(user_id):
14 12
     """ 设置系统消息读取信息 """
15 13
     read_messages = SystemMessageReadInfo.objects.filter(user_id=user_id, status=True)
16 14
     read_message_ids = [msg.msg_id for msg in read_messages]
17
-    r.setex(SYSTEM_MESSAGE_READ_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, json.dumps(read_message_ids))
15
+    r.setexjson(SYSTEM_MESSAGE_READ_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, read_message_ids)
18 16
     return read_message_ids
19 17
 
20 18
 
21 19
 def get_system_message_read_info(user_id):
22 20
     """ 获取系统消息读取信息 """
23
-    return json.loads(r.get(SYSTEM_MESSAGE_READ_INFO % user_id) or '[]') or set_system_message_read_info(user_id)
21
+    return r.getjson(SYSTEM_MESSAGE_READ_INFO % user_id, default='[]') or set_system_message_read_info(user_id)
24 22
 
25 23
 
26 24
 def set_system_message_delete_info(user_id):
27 25
     """ 设置系统消息删除信息 """
28 26
     deleted_messages = SystemMessageDeleteInfo.objects.filter(user_id=user_id, status=True)
29 27
     deleted_message_ids = [msg.msg_id for msg in deleted_messages]
30
-    r.setex(SYSTEM_MESSAGE_DELETED_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, json.dumps(deleted_message_ids))
28
+    r.setexjson(SYSTEM_MESSAGE_DELETED_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, deleted_message_ids)
31 29
     return deleted_message_ids
32 30
 
33 31
 
34 32
 def get_system_message_delete_info(user_id):
35 33
     """ 获取系统消息删除信息 """
36
-    return json.loads(r.get(SYSTEM_MESSAGE_DELETED_INFO % user_id) or '[]') or set_system_message_delete_info(user_id)
34
+    return r.getjson(SYSTEM_MESSAGE_DELETED_INFO % user_id, default='[]') or set_system_message_delete_info(user_id)

+ 2 - 4
utils/redis/rorder.py

@@ -1,7 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-import json
4
-
5 3
 from django.core.serializers.json import DjangoJSONEncoder
6 4
 
7 5
 from utils.redis.connect import r
@@ -14,7 +12,7 @@ from utils.redis.rkeys import LENSMAN_PHOTO_ORDER_RECORD
14 12
 def set_lensman_order_record(porder):
15 13
     """ 设置摄影师照片购买记录 """
16 14
     porder_info = porder.porder_info
17
-    r.setex(LENSMAN_PHOTO_ORDER_RECORD % (porder.photo_id, porder.user_id), r.REDIS_EXPIRED_ONE_MONTH, json.dumps(porder_info, cls=DjangoJSONEncoder))
15
+    r.setexjson(LENSMAN_PHOTO_ORDER_RECORD % (porder.photo_id, porder.user_id), r.REDIS_EXPIRED_ONE_MONTH, porder_info, cls=DjangoJSONEncoder)
18 16
     return porder_info
19 17
 
20 18
 
@@ -30,4 +28,4 @@ def set_lensman_order_record_by_id(photo_id, user_id):
30 28
 
31 29
 def get_lensman_order_record(photo_id, user_id):
32 30
     """ 获取摄影师照片购买记录 """
33
-    return json.loads(r.get(LENSMAN_PHOTO_ORDER_RECORD % (photo_id, user_id)) or '{}') or set_lensman_order_record_by_id(photo_id, user_id)
31
+    return r.getjson(LENSMAN_PHOTO_ORDER_RECORD % (photo_id, user_id)) or set_lensman_order_record_by_id(photo_id, user_id)

+ 2 - 4
utils/redis/rpatch.py

@@ -1,7 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-import json
4
-
5 3
 from pai2.basemodels import PlatformMixin
6 4
 from utils.redis.connect import r
7 5
 from utils.redis.rkeys import APP_PATCH_INFO
@@ -9,7 +7,7 @@ from utils.redis.rkeys import APP_PATCH_INFO
9 7
 
10 8
 def set_app_patch_info(apppatch):
11 9
     """ 设置 APP 补丁信息 """
12
-    r.set(APP_PATCH_INFO % (apppatch.platform, apppatch.version, apppatch.src), json.dumps(apppatch.data))
10
+    r.setjson(APP_PATCH_INFO % (apppatch.platform, apppatch.version, apppatch.src), apppatch.data)
13 11
 
14 12
 
15 13
 def del_app_patch_info(apppatch):
@@ -20,4 +18,4 @@ def del_app_patch_info(apppatch):
20 18
 def get_app_patch_info(platform, version, src):
21 19
     """ 获取 APP 补丁信息 """
22 20
     platform = platform if isinstance(platform, int) else PlatformMixin.Platforms.get(platform)
23
-    return json.loads(r.get(APP_PATCH_INFO % (platform, version, src)) or '{}')
21
+    return r.getjson(APP_PATCH_INFO % (platform, version, src))

+ 2 - 4
utils/redis/rprice.py

@@ -1,7 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-import json
4
-
5 3
 from account.models import LensmanInfo
6 4
 from utils.redis.connect import r
7 5
 from utils.redis.rkeys import LENSMAN_PHOTO_PRICE_FIXED
@@ -22,11 +20,11 @@ def set_lensman_price_fixed(user_id):
22 20
         'origin': (lensman and lensman.origin) or 999,
23 21
     }
24 22
 
25
-    r.set(LENSMAN_PHOTO_PRICE_FIXED % user_id, json.dumps(price_fixed))
23
+    r.setjson(LENSMAN_PHOTO_PRICE_FIXED % user_id, price_fixed)
26 24
 
27 25
     return price_fixed
28 26
 
29 27
 
30 28
 def get_lensman_price_fixed(user_id):
31 29
     """ 获取摄影师价格设定 """
32
-    return json.loads(r.get(LENSMAN_PHOTO_PRICE_FIXED % user_id) or '{}') or set_lensman_price_fixed(user_id)
30
+    return r.getjson(LENSMAN_PHOTO_PRICE_FIXED % user_id) or set_lensman_price_fixed(user_id)

+ 2 - 4
utils/redis/rprofile.py

@@ -1,7 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-import json
4
-
5 3
 from utils.redis.connect import r
6 4
 from utils.redis.rkeys import PROFILE_INFO
7 5
 
@@ -11,7 +9,7 @@ from utils.redis.rkeys import PROFILE_INFO
11 9
 
12 10
 def set_profile_info(user):
13 11
     """ 设置用户信息 """
14
-    r.set(PROFILE_INFO % user.user_id, json.dumps(user.data))
12
+    r.setjson(PROFILE_INFO % user.user_id, user.data)
15 13
     return user.data
16 14
 
17 15
 
@@ -27,4 +25,4 @@ def set_profile_by_uid(user_id):
27 25
 
28 26
 def get_profile_by_id(user_id):
29 27
     """ 获取用户信息 """
30
-    return json.loads(r.get(PROFILE_INFO % user_id) or '{}') or set_profile_by_uid(user_id)
28
+    return r.getjson(PROFILE_INFO % user_id) or set_profile_by_uid(user_id)

+ 2 - 4
utils/redis/rsettings.py

@@ -1,7 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-import json
4
-
5 3
 from pai2.basemodels import PlatformMixin
6 4
 from utils.redis.connect import r
7 5
 from utils.redis.rkeys import APP_SETTINGS_INFO
@@ -9,7 +7,7 @@ from utils.redis.rkeys import APP_SETTINGS_INFO
9 7
 
10 8
 def set_app_settings_info(appset):
11 9
     """ 设置 APP 设置信息 """
12
-    r.set(APP_SETTINGS_INFO % (appset.platform, appset.channel, appset.version), json.dumps(appset.data))
10
+    r.setjson(APP_SETTINGS_INFO % (appset.platform, appset.channel, appset.version), appset.data)
13 11
 
14 12
 
15 13
 def del_app_settings_info(appset):
@@ -20,4 +18,4 @@ def del_app_settings_info(appset):
20 18
 def get_app_settings_info(platform, channel, version):
21 19
     """ 获取 APP 设置信息 """
22 20
     platform = platform if isinstance(platform, int) else PlatformMixin.Platforms[platform]
23
-    return json.loads(r.get(APP_SETTINGS_INFO % (platform, channel, version)) or '{}')
21
+    return r.getjson(APP_SETTINGS_INFO % (platform, channel, version))