1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# coding=utf8
from __future__ import unicode_literals, absolute_import, print_function
import redis
from django.conf import settings
from qa.cache.cache_v2 import RedisWrapper # todo RedisWrapper 需要独立出来
# hot_in_24hrs_cache = RedisWrapper("hot_in_24hrs", settings.REDIS_TOPIC_1ST['default']) # 已无调用 180411
diary_heat_score_cache = RedisWrapper('diary_heat', settings.REDIS_TOPIC_1ST['default'])
take_sofa_diary_cache = RedisWrapper('take_sofa_diary', settings.REDIS_TOPIC_1ST['default'])
high_quality_user_cache = RedisWrapper('high_quality_users', settings.REDIS['user_cache']) # todo 是否变更
# high_quality_user_cache = RedisWrapper('high_quality_users', settings.REDIS_TOPIC_1ST['default'])
doctor_tags_cache = RedisWrapper('doctor_tags', settings.REDIS_TOPIC_1ST['default'])
doctor_tagv3s_cache = RedisWrapper('doctor_tagv3s', settings.REDIS_TOPIC_1ST['default'])
wechat_cache = RedisWrapper('wechat', settings.REDIS['default']) # todo 是否变更
# wechat_cache = RedisWrapper('wechat', settings.REDIS_TOPIC_1ST['default'])
diary_pv_cache = RedisWrapper('diary_pv', settings.REDIS['view'])
# diary_pv_cache = RedisWrapper('diary_pv', settings.REDIS_TOPIC_1ST['view']) # todo 是否变更
hospital_topics_num_cache = RedisWrapper("hospital_topics_num", settings.REDIS["default"])
user_auth_type_cache = RedisWrapper('user_auth_type_cache', settings.REDIS['user_cache'])
user_type_cache = RedisWrapper('user_type_cache', settings.REDIS['user_cache'])
# 用于社区 专栏,问答 富文本视频内容转换,临时暂存的数据
community_video_handle_cache = RedisWrapper("community_video_handle", settings.REDIS["default"])
#存储评论数目
tractate_reply_count_cache = RedisWrapper("tractate_reply_count", settings.REDIS["default"])
# 新帖子收藏数
tractate_favor_count_cache = RedisWrapper("tractate_favor_count", settings.REDIS["default"])
# 新帖子点赞数
tractate_vote_count_cache = RedisWrapper("tractate_vote_count", settings.REDIS["default"])
# 新帖子评论点赞数
tractate_reply_vote_count_cache = RedisWrapper("tractate_reply_vote_count", settings.REDIS["default"])
#医生后台帖子
soft_article_vote_count_cache = RedisWrapper("soft_article_vote_count_cache", settings.REDIS["default"])
soft_article_favor_count_cache = RedisWrapper("soft_article_favor_count_cache", settings.REDIS["default"])
soft_article_reply_count = RedisWrapper("soft_article_reply_count", settings.REDIS["default"])
#医生后台浏览量
soft_article_pv_cache = RedisWrapper('soft_article_pv_cache', settings.REDIS_TOPIC_1ST['tractate_pv_cache'])
tractate_pv_cache = RedisWrapper('tractate_cache_pv', settings.REDIS_TOPIC_1ST['tractate_pv_cache'])
#防止点赞并发处理
fake_vote_cache = RedisWrapper('fake_vote_cache', settings.REDIS_TOPIC_1ST['default'])
# 老标签-标签3数据清洗记录 完全切成新标签后此缓存可删除 keys: tag_map_tag3_record:*
tag_map_tag3_record = RedisWrapper('tag_map_tag3_record', settings.REDIS_TOPIC_1ST['default'])
'''以下是不需要前缀的'''
class _RedisWithoutprefixProxy(object):
# add methods those are need to be hacked here
_hacked_methods = set([
'get', 'mget', 'hget', 'hgetall', 'rpop', 'mset'
])
def __getattribute__(self, name):
try:
return super(_RedisWithoutprefixProxy, self).__getattribute__(name)
except AttributeError:
f = getattr(self.redis, name)
if name in _RedisWithoutprefixProxy._hacked_methods:
def wrapper(k, *args, **kwargs):
data = f(k, *args, **kwargs)
# bug fix for py35, json.loads does accept bytes!
if type(data) == bytes:
data = data.decode()
return data
return wrapper
return f
def __init__(self, conf):
self.__pool = redis.ConnectionPool(**conf)
self.redis = redis.StrictRedis(connection_pool=self.__pool)
page_cache = _RedisWithoutprefixProxy(settings.REDIS_TOPIC_1ST['page_cache'])
vote_cache = _RedisWithoutprefixProxy(settings.REDIS_TOPIC_1ST['vote_cache'])
reply_cache = _RedisWithoutprefixProxy(settings.REDIS_TOPIC_1ST['reply_cache'])
# 新版帖子收藏
favor_cache = _RedisWithoutprefixProxy(settings.REDIS_TOPIC_1ST['favor_cache'])
#针对帖子评论排序缓存
tractate_reply_cache = _RedisWithoutprefixProxy(settings.REDIS_TOPIC_1ST['tractate_reply_cache'])
# 爬取数据入库用户信息缓存
crawl_user_cache = _RedisWithoutprefixProxy(settings.REDIS_TOPIC_1ST['user_cache'])
# 灌水专用缓存
fake_cache = _RedisWithoutprefixProxy(settings.REDIS_TOPIC_1ST['fake_task'])
# pgc 帖子专用缓存
pgc_tractate_cache = _RedisWithoutprefixProxy(settings.REDIS_TOPIC_1ST['tractate_pgc_cache'])
# 日记本相关基础信息
diary_base_info_cache = RedisWrapper('diary_base_info', settings.REDIS['default'])