def getHistoryRecommendFeedIdList_FromCache ( uid ): logger.debug( 'getHistoryRecommendFeedIdList_FromCache, uid=%s', uid ) redis = db_cache.get_redis_feed_list() if redis == None: # error logging in db_cache return None key = uid+'_rfid' if not redis.Exists( key ): logger.error( 'getHistoryRecommendFeedIdList_FromCache faild, no key=%s', key ) return None result = redis.LRange( key, 0, MAX_CACHE_RECOMMEND_FEEDID_COUNT+100 ) if result == None or redis.GetLastErrNo() != 0 : logger.error( 'getHistoryRecommendFeedIdList_FromCache faild, key=%s, errno=%d', key, redis.GetLastErrNo() ) return None if len(result) >= MAX_CACHE_RECOMMEND_FEEDID_COUNT+100 : redis.Del( key ) if not redis.LPush( key, result[0:MAX_CACHE_RECOMMEND_FEEDID_COUNT] ) : logger.error( 'Resize RecommendFeedIdList_ToCache faild, key=%s, errno=%d', key, redis.GetLastErrNo() ) return False if len(result) > MAX_CACHE_RECOMMEND_FEEDID_COUNT : return result[0:MAX_CACHE_RECOMMEND_FEEDID_COUNT] else: return result
def updateUserFeedIdList_ToCache( uid, feedid_list ) : redis = db_cache.get_redis_feed_list() if redis == None: # error logging in db_cache return False key = uid+'_ufid' redis.Del( key ) if not redis.LPush( key, feedid_list ): logger.error( 'updateUserFeedIdList_ToCache faild, key=%s, errno=%d', key, redis.GetLastErrNo() ) return False return True
def pushRecommendFeedIdList_ToCache ( uid, feedid_list ): redis = db_cache.get_redis_feed_list() if redis == None: # error logging in db_cache return False key = uid+'_rfid' result = redis.LPush( key, feedid_list ) if not result : logger.error( 'pushRecommendFeedIdList_ToCache faild, key=%s, errno=%d', key, redis.GetLastErrNo() ) return False return True
def getUserFeedIdList_FromCache( uid ): logger.debug( 'getUserFeedIdList_FromCache, id=%s', uid ) redis = db_cache.get_redis_feed_list() if redis == None: # error logging in db_cache return None key = uid+'_ufid' if not redis.Exists( key ): logger.error( 'getUserFeedIdList_FromCache faild, no key=%s', key ) return None result = redis.LRange( key, 0, -1 ) if result == None or redis.GetLastErrNo() != 0 : logger.error( 'getUserFeedIdList_FromCache faild, key=%s, errno=%d', key, redis.GetLastErrNo() ) return None return result
def getFeedIdList_FromCache( key ): logger.debug( 'getFeedIdList_FromCache, key=%s', key ) redis = db_cache.get_redis_feed_list() if redis == None: # error logging in db_cache return None key = key+'_fid' if not redis.Exists( key ): logger.error( 'getFeedIdList_FromCache faild, no key=%s', key ) return None result = redis.LRange( key, 0, MAX_FEED_COUNT_FOR_FRONTPAGE ) if result == None or redis.GetLastErrNo() != 0 : logger.error( 'getFeedIdList_FromCache faild, key=%s, errno=%d', key, redis.GetLastErrNo() ) return None return result
def delSubscription ( self ): # 删除记录到数据库 db = db_cache.getdb() if db == None : return ( 1, 'db error' ) try: sql ="DELETE FROM subscription where user_id=%s and feed_id=%s and resource_id=%s" db.execute(sql, (self.uid, self.feedid, self.resid)) except: logger.error( "del subscription faild, %s, %s" ,sys.exc_info()[0] , sys.exc_info()[1] ) return ( 2, 'delete record faild' ) # 清除cache redis = db_cache.get_redis_feed_list() if redis == None: # error logging in db_cache return ( 3, 'cache error' ) redis.Del( self.uid+'_fid' ) return ( 0, 'ok' )