Redis取得シーケンス
4403 ワード
Redis取得シーケンス
/**
* ID
*/
@Override
public synchronized Integer generateInstitutionNo() {
//
String serialNo = RedisClient.lpop(RedisConstants.REDIS_DB_03, RedisConstants.KEY_INSTITUTION_NO);
// ID,
if (StringUtil.isEmpty(serialNo)) {
// ,
Integer maxId = institutionService.getMaxId();
//
RedisClient.del(RedisConstants.REDIS_DB_03, RedisConstants.KEY_INSTITUTION_NO);
// ( 100 )
Integer i = 1 ;
while (i < 1000) {
maxId ++ ;
RedisClient.rpush(RedisConstants.REDIS_DB_03, RedisConstants.KEY_INSTITUTION_NO, String.valueOf(maxId));
i++;
}
//
serialNo = RedisClient.lpop(RedisConstants.REDIS_DB_03, RedisConstants.KEY_INSTITUTION_NO);
}
return Integer.valueOf(serialNo);
}