當前位置: 首頁>>代碼示例>>Java>>正文


Java Pipeline.expire方法代碼示例

本文整理匯總了Java中redis.clients.jedis.Pipeline.expire方法的典型用法代碼示例。如果您正苦於以下問題:Java Pipeline.expire方法的具體用法?Java Pipeline.expire怎麽用?Java Pipeline.expire使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在redis.clients.jedis.Pipeline的用法示例。


在下文中一共展示了Pipeline.expire方法的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: pipelineWithTransaction

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
public void pipelineWithTransaction() {
  Jedis jedis = pool.getResource();
  try {
    Pipeline p = jedis.pipelined();
    p.multi();
    for (int i = 0; i < rowCount; i++) {
      String key = RandomStringUtils.randomAlphabetic(8);
      p.set(key, RandomStringUtils.randomNumeric(5));
      p.expire(key, 5 * 60);
    }
    p.exec();
    p.sync();
  } catch (Exception e) {
    pool.returnResource(jedis);
  }
}
 
開發者ID:nickevin,項目名稱:Qihua,代碼行數:17,代碼來源:RedisTransactionTest.java

示例2: execute

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
@Override
String execute(Pipeline pipe) {

    if (tokens.size() == 1) {
        return tokenKey(tokens.get(0).text);
    }

    String[] keys = new String[tokens.size()+1];
    keys[0] = makeTmpKey(raw);
    for (int i = 0; i < tokens.size(); i++) {
        keys[i+1] = tokenKey(tokens.get(i).text);
    }

    intersectTokens.execute(pipe, 1, keys);
    pipe.expire(keys[0], DEFAULT_EXPIRATION);
    return keys[0];
}
 
開發者ID:RedisLabs,項目名稱:ReSearch,代碼行數:18,代碼來源:FullTextFacetedIndex.java

示例3: updateEvent

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
public static boolean updateEvent(String prefix, int unixtime, final String[] events, boolean withSummary){
	boolean commited = false;
	try {
		Date date = new Date(unixtime*1000L);
		final String dateStr = DateTimeUtil.formatDate(date ,DateTimeUtil.DATE_FORMAT_PATTERN);
		final String dateHourStr = DateTimeUtil.formatDate(date ,DateTimeUtil.DATE_HOUR_FORMAT_PATTERN);				
		RedisCommand<Boolean> cmd = new RedisCommand<Boolean>(jedisPool) {
			@Override
			protected Boolean build() throws JedisException {					
				
				String keyD = prefix+dateStr;
				String keyH = prefix+dateHourStr;
				
				Pipeline p = jedis.pipelined();
				for (String event : events) {
					if(withSummary){
						p.hincrBy(SUMMARY, event , 1L);
					}
					
					//hourly
					p.hincrBy(keyH, event , 1L);
					p.expire(keyH, AFTER_15_DAYS);
					
					//daily
					p.hincrBy(keyD, event , 1L);
					p.expire(keyD, AFTER_60_DAYS);	
				}
				
				p.sync();
				return true;
			}
		};
		if(cmd != null) {
			commited = cmd.execute();	
		}			
	} catch (Exception e) {
		e.printStackTrace();
	}
	return commited;
}
 
開發者ID:rfxlab,項目名稱:analytics-with-rfx,代碼行數:41,代碼來源:RealtimeTrackingUtil.java

示例4: pipelineWithoutTransaction

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
public void pipelineWithoutTransaction() {
  Jedis jedis = pool.getResource();
  try {
    Pipeline p = jedis.pipelined();
    for (int i = 0; i < rowCount; i++) {
      String key = RandomStringUtils.randomAlphabetic(8);
      p.set(key, RandomStringUtils.randomNumeric(5));
      p.expire(key, 5 * 60);
    }
    p.sync();
  } catch (Exception e) {
    pool.returnResource(jedis);
  }
}
 
開發者ID:nickevin,項目名稱:Qihua,代碼行數:15,代碼來源:RedisTransactionTest.java

示例5: setAndExpireWithPipeline

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
public void setAndExpireWithPipeline(){
    Jedis jedis = getResource();
    try {
        Pipeline pipeline = jedis.pipelined();
        pipeline.set("x", Long.valueOf(count.incrementAndGet()).toString());
        pipeline.expire("x", 600);
        pipeline.sync();

    }finally {
        returnResource(jedis);
    }

}
 
開發者ID:Jdoing,項目名稱:example,代碼行數:14,代碼來源:SeqGenerator.java

示例6: pushValueInList

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
/**
 * Push an string into the Redis list and update the expire seconds.
 * If the count of the list exceeds 'maxListCount', all the old content
 * are trimmed.
 * 
 * @param subject
 * @param content
 */
public void pushValueInList(String list, String content, int maxListCount, int expireSeconds) {
	Jedis jedisDB = JedisFactory.getJedisDB();
	Pipeline pipeline = jedisDB.pipelined();
	pipeline.lpush(list, content);
	if ( maxListCount > 0 ) {
		pipeline.ltrim(list, 0, maxListCount-1);
	}
	//update the expire seconds if exist
	if ( expireSeconds > 0 ) {
		pipeline.expire(list, expireSeconds);
	}
	pipeline.sync();
}
 
開發者ID:wangqi,項目名稱:gameserver,代碼行數:22,代碼來源:MailMessageManager.java

示例7: get

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
@Override
public ValueType get(Object key) {
    final String redisKey = generateRedisKey(turnObjectIntoKeyType(key));
    final Response<String> valAsString;
    try (final Handle handle = rdbi.open()) {
        final Pipeline pl = handle.jedis().pipelined();
        valAsString = pl.get(redisKey);
        pl.expire(redisKey, valueTtl);
        pl.sync();
    }
    return getFromResponse(valAsString);
}
 
開發者ID:lithiumtech,項目名稱:rdbi,代碼行數:13,代碼來源:RedisMap.java

示例8: setLastEntries

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
@Override
public void setLastEntries(Feed feed, List<String> entries) {
	try (Jedis jedis = pool.getResource()) {
		String key = buildRedisEntryKey(feed);

		Pipeline pipe = jedis.pipelined();
		pipe.del(key);
		for (String entry : entries) {
			pipe.sadd(key, entry);
		}
		pipe.expire(key, (int) TimeUnit.DAYS.toSeconds(7));
		pipe.sync();
	}
}
 
開發者ID:Athou,項目名稱:commafeed,代碼行數:15,代碼來源:RedisCacheService.java

示例9: setUserRootCategory

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
@Override
public void setUserRootCategory(User user, Category category) {
	try (Jedis jedis = pool.getResource()) {
		String key = buildRedisUserRootCategoryKey(user);

		Pipeline pipe = jedis.pipelined();
		pipe.del(key);
		pipe.set(key, MAPPER.writeValueAsString(category));
		pipe.expire(key, (int) TimeUnit.MINUTES.toSeconds(30));
		pipe.sync();
	} catch (JsonProcessingException e) {
		log.error(e.getMessage(), e);
	}
}
 
開發者ID:Athou,項目名稱:commafeed,代碼行數:15,代碼來源:RedisCacheService.java

示例10: setUnreadCount

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
@Override
public void setUnreadCount(FeedSubscription sub, UnreadCount count) {
	try (Jedis jedis = pool.getResource()) {
		String key = buildRedisUnreadCountKey(sub);

		Pipeline pipe = jedis.pipelined();
		pipe.del(key);
		pipe.set(key, MAPPER.writeValueAsString(count));
		pipe.expire(key, (int) TimeUnit.MINUTES.toSeconds(30));
		pipe.sync();
	} catch (Exception e) {
		log.error(e.getMessage(), e);
	}
}
 
開發者ID:Athou,項目名稱:commafeed,代碼行數:15,代碼來源:RedisCacheService.java

示例11: updateEventPageView

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
public static boolean updateEventPageView(final String uuid, final String event, final String hostReferer, long delta){
	boolean commited = false;
	try {
		Date date = new Date();
		final String dateStr = DateTimeUtil.formatDate(date ,DateTimeUtil.DATE_FORMAT_PATTERN);
		final String dateHourStr = DateTimeUtil.formatDate(date ,DateTimeUtil.DATE_HOUR_FORMAT_PATTERN);	
		
		RedisCommand<Boolean> cmd = new RedisCommand<Boolean>(jedisPool) {
			@Override
			protected Boolean build() throws JedisException {
				Pipeline p = jedis.pipelined();
				
				p.hincrBy(EVENT_STATS, event , delta);
				p.pfadd(EVUT+event, uuid);
				
				String keyH = PREFIX_PAGEVIEW+dateHourStr;
				p.hincrBy(keyH, event , delta);
				p.expire(keyH, AFTER_15_DAYS);
				
				String keyD = PREFIX_PAGEVIEW+dateStr;
				p.hincrBy(keyD, event , delta);
				p.expire(keyD, AFTER_60_DAYS);
								
				if(StringUtil.isNotEmpty(uuid)){
					String keyHU = PREFIX_PAGEVIEW+dateHourStr + ":u";												
					p.pfadd(keyHU, uuid);
					p.expire(keyHU, AFTER_3_DAYS);	
					
					String keyDU = PREFIX_PAGEVIEW+dateStr + ":u";
					p.pfadd(keyDU, uuid);
					p.expire(keyDU, AFTER_15_DAYS);	
				}	
				
				if(StringUtil.isNotEmpty(event)){
					String keyHUT = PREFIX_PAGEVIEW+dateHourStr + ":u:"+event+":"+hostReferer;											
					p.pfadd(keyHUT, uuid);
					p.expire(keyHUT, AFTER_3_DAYS);	
					
					String keyDUT = PREFIX_PAGEVIEW+dateStr + ":u:"+event+":"+hostReferer;
					p.pfadd(keyDUT, uuid);
					p.expire(keyDUT, AFTER_15_DAYS);	
				}	
				
				p.sync();
				return true;
			}
		};
		if(cmd != null) {
			commited = cmd.execute();	
		}			
	} catch (Exception e) {
		e.printStackTrace();
	}
	return commited;
}
 
開發者ID:rfxlab,項目名稱:analytics-with-rfx,代碼行數:56,代碼來源:RealtimeTrackingUtil.java

示例12: updatePageViewEvent

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
public static boolean updatePageViewEvent(final String host, final String uuid, final String tag){
	boolean commited = false;
	try {
		Date date = new Date();
		final String dateStr = DateTimeUtil.formatDate(date ,DateTimeUtil.DATE_FORMAT_PATTERN);
		final String dateHourStr = DateTimeUtil.formatDate(date ,DateTimeUtil.DATE_HOUR_FORMAT_PATTERN);				
		RedisCommand<Boolean> cmd = new RedisCommand<Boolean>(jedisPool) {
			@Override
			protected Boolean build() throws JedisException {
				Pipeline p = jedis.pipelined();
									
				String keyH = PREFIX_PAGEVIEW+dateHourStr;
				p.hincrBy(keyH, host , 1L);
				p.expire(keyH, AFTER_15_DAYS);
				
				String keyD = PREFIX_PAGEVIEW+dateStr;
				p.hincrBy(keyD, host , 1L);
				p.expire(keyD, AFTER_60_DAYS);
								
				if(StringUtil.isNotEmpty(uuid)){
					String keyHU = PREFIX_PAGEVIEW+dateHourStr + ":u";												
					p.pfadd(keyHU, uuid);
					p.expire(keyHU, AFTER_3_DAYS);	
					
					String keyDU = PREFIX_PAGEVIEW+dateStr + ":u";
					p.pfadd(keyDU, uuid);
					p.expire(keyDU, AFTER_15_DAYS);	
				}	
				
				if(StringUtil.isNotEmpty(tag)){
					String keyHUT = PREFIX_PAGEVIEW+dateHourStr + ":u:"+host+":"+tag;											
					p.pfadd(keyHUT, uuid);
					p.expire(keyHUT, AFTER_3_DAYS);	
					
					String keyDUT = PREFIX_PAGEVIEW+dateStr + ":u:"+host+":"+tag;
					p.pfadd(keyDUT, uuid);
					p.expire(keyDUT, AFTER_15_DAYS);	
				}	
				
				p.sync();
				return true;
			}
		};
		if(cmd != null) {
			commited = cmd.execute();	
		}			
	} catch (Exception e) {
		e.printStackTrace();
	}
	return commited;
}
 
開發者ID:rfxlab,項目名稱:analytics-with-rfx,代碼行數:52,代碼來源:RealtimeTrackingUtil.java

示例13: hashSet

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
private void hashSet(Jedis jedis, String cacheKey, String hfield, CacheWrapper<Object> result) throws Exception {
    byte[] key=KEY_SERIALIZER.serialize(cacheKey);
    byte[] field=KEY_SERIALIZER.serialize(hfield);
    byte[] val=serializer.serialize(result);
    int hExpire;
    if(hashExpire < 0) {
        hExpire=result.getExpire();
    } else {
        hExpire=hashExpire;
    }
    if(hExpire == 0) {
        jedis.hset(key, field, val);
    } else if(hExpire > 0) {
        if(hashExpireByScript) {
            String redisInstance = jedis.getClient().getHost()+":"+jedis.getClient().getPort();
            byte[] sha=HASH_SET_SCRIPT_SHA.get(redisInstance);
            if(null == sha) {
                sha=jedis.scriptLoad(hashSetScript);
                HASH_SET_SCRIPT_SHA.put(redisInstance, sha);
            }
            List<byte[]> keys=new ArrayList<byte[]>();
            keys.add(key);
            keys.add(field);

            List<byte[]> args=new ArrayList<byte[]>();
            args.add(val);
            args.add(KEY_SERIALIZER.serialize(String.valueOf(hExpire)));
            try {
                jedis.evalsha(sha, keys, args);
            } catch(Exception ex) {
                logger.error(ex.getMessage(), ex);
                try {
                    sha=jedis.scriptLoad(hashSetScript);
                    HASH_SET_SCRIPT_SHA.put(redisInstance, sha);
                    jedis.evalsha(sha, keys, args);
                } catch(Exception ex1) {
                    logger.error(ex1.getMessage(), ex1);
                }
            }
        } else {
            Pipeline p=jedis.pipelined();
            p.hset(key, field, val);
            p.expire(key, hExpire);
            p.sync();
        }
    }
}
 
開發者ID:qiujiayu,項目名稱:AutoLoadCache,代碼行數:48,代碼來源:ShardedJedisCacheManager.java

示例14: save

import redis.clients.jedis.Pipeline; //導入方法依賴的package包/類
/**
 * Simple session save to redis db.
 * 
 * Depending on save settings, session manager will save the session every
 * now and then.
 */
@Override
protected Object save(NoSqlSession session, Object version,
                      boolean activateAfterSave) {
    final String sessionId = session.getId();
    final String sessionMetadataId = sessionId + METADATA_SUFFIX;
    final long newVersion = (version == null) ? 1 : ((Long) version + 1);
    // If session has been invalidated then set the flags to indicate to
    // other servers about the invalidation.
    final String metadata = session.isValid() ? (newVersion + "," + session.getLastAccessedTime())
                                             : "-1,-1";
    final Map<String, Object> attrMap = session.isValid() ? ((RedisNoSqlSession) session).getAttributeMap()
                                                         : new HashMap<String, Object>();
    Jedis jedis = null;
    try {
        // save the session
        log.debug("saving for key: " + sessionId + " with version:"
                  + newVersion);
        jedis = jedisPool.getResource();
        // Even in case of invalidate i.e. activateAfterSave=false, empty
        // session will be saved.
        Pipeline pipeline = jedis.pipelined();
        byte[] value = serialize(attrMap);
        pipeline.set(sessionId.getBytes(), value);
        pipeline.set(sessionMetadataId, metadata);
        // session will expire in 15 minutes if not touched. if it is
        // accessed then its lifetime is further extended.
        pipeline.expire(sessionId, SESSION_EXPIRY_TIME_SECONDS);
        // this will execute all the commands at once.
        pipeline.sync();
    } catch (Exception e) {
        //
        log.error("couldn't save the session to redis db, "
                          + "this will run into problems as session information "
      + "won't be available on other machines",
                  e);
        return version;
    } finally {
        if (jedis != null) {
            jedis.close();
        }
    }
    // Activate the session after save, this triggers an event which is
    // listened to by any configured listeners.
    if (activateAfterSave) {
        session.didActivate();
    }
    return newVersion;
}
 
開發者ID:parthpatel,項目名稱:jetty-redis-session-management,代碼行數:55,代碼來源:RedisSessionManager.java


注:本文中的redis.clients.jedis.Pipeline.expire方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。