示例#1
0
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
示例#2
0
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
示例#3
0
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
示例#4
0
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
示例#5
0
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
示例#6
0
    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' )