org.redisson.api.RedissonClient.getAtomicLong()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(8.1k)|赞(0)|评价(0)|浏览(1229)

本文整理了Java中org.redisson.api.RedissonClient.getAtomicLong方法的一些代码示例,展示了RedissonClient.getAtomicLong的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RedissonClient.getAtomicLong方法的具体详情如下:
包路径:org.redisson.api.RedissonClient
类名称:RedissonClient
方法名:getAtomicLong

RedissonClient.getAtomicLong介绍

[英]Returns atomicLong instance by name.
[中]按名称返回atomicLong实例。

代码示例

代码示例来源:origin: redisson/redisson

public RedissonLongAdder(CommandAsyncExecutor connectionManager, String name, RedissonClient redisson) {
  super(connectionManager, name, redisson);
  
  atomicLong = redisson.getAtomicLong(getName());
}

代码示例来源:origin: redisson/redisson

@Override
public Long resolve(Class value, RId id, String idFieldName, RedissonClient redisson) {
  return redisson.getAtomicLong(this.getClass().getCanonicalName()
      + "{" + value.getCanonicalName() + "}:" + idFieldName)
      .incrementAndGet();
}

代码示例来源:origin: redisson/redisson

@Override
public Long resolve(Class value, RId id, String idFieldName, RedissonClient redisson) {
  return redisson.getAtomicLong(this.getClass().getCanonicalName()
      + "{" + value.getCanonicalName() + "}:" + idFieldName)
      .incrementAndGet();
}

代码示例来源:origin: redisson/redisson

public RedissonLongAdder(CommandAsyncExecutor connectionManager, String name, RedissonClient redisson) {
  super(connectionManager, name, redisson);
  
  atomicLong = redisson.getAtomicLong(getName());
}

代码示例来源:origin: hs-web/hsweb-framework

@Override
  protected Counter createCount(String name) {
    return new RedissonCounter(redisson.getAtomicLong(name));
  }
}

代码示例来源:origin: yangwenjie88/delay-queue

/**
 * Get atomic long r atomic long.
 *
 * @param objectName the object name
 * @return the r atomic long
 */
public static RAtomicLong getAtomicLong(String objectName){
  return redissonClient.getAtomicLong(objectName);
}

代码示例来源:origin: org.redisson/redisson

@Override
public Long resolve(Class value, RId id, String idFieldName, RedissonClient redisson) {
  return redisson.getAtomicLong(this.getClass().getCanonicalName()
      + "{" + value.getCanonicalName() + "}:" + idFieldName)
      .incrementAndGet();
}

代码示例来源:origin: org.redisson/redisson

public RedissonLongAdder(CommandAsyncExecutor connectionManager, String name, RedissonClient redisson) {
  super(connectionManager, name, redisson);
  
  atomicLong = redisson.getAtomicLong(getName());
}

代码示例来源:origin: justlive1/earth-frost

@Override
public void enter(String loggerId, String type) {
 // 运行中 ++
 redissonClient.getAtomicLong(JobConfig.STAT_TOTAL_RUNNING).incrementAndGet();
 redissonClient.getAtomicLong(String.format(JobConfig.STAT_TOTAL_TYPE, type)).incrementAndGet();
}

代码示例来源:origin: huangjian888/jeeweb-mybatis-springboot

@Override
public Long incr(String key) {
  return redissonClient.getAtomicLong(key).incrementAndGet();
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

/**
 * 回写补偿数据
 * @param id
 * @param column
 * @param key
 * @param redissonClient
 * @param baseDao
 */
public static void writeCompensateCount(Long id, String column,String key, RedissonClient redissonClient,BaseDao baseDao) {
  RAtomicLong rCacheLong = redissonClient.getAtomicLong(key);
  if (retryCountToCache(id, column, key, 0, rCacheLong, redissonClient, baseDao)) {
    //回写DB加减1
    //baseDao.updateCountValue(column, id);
  }
}

代码示例来源:origin: justlive1/earth-frost

@Override
 public void leave(String loggerId, String type, boolean success) {
  // 运行中 --
  redissonClient.getAtomicLong(JobConfig.STAT_TOTAL_RUNNING).decrementAndGet();
  // 每日统计
  String date = DateTimeFormatter.ISO_LOCAL_DATE.format(ZonedDateTime.now());
  String key;
  if (success) {
   key = String.format(JobConfig.STAT_DATE_TYPE_SUCCESS, date, type);
  } else {
   key = String.format(JobConfig.STAT_DATE_TYPE_FAIL, date, type);
  }
  redissonClient.getAtomicLong(key).incrementAndGet();

  removeOldestLogger(loggerId);
 }
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

public static Long readCount(Long id, String column, String key,RedissonClient redissonClient,BaseDao baseDao) {
  RAtomicLong rCacheLong = redissonClient.getAtomicLong(key);
  RAtomicLong rResultLong = getSourceToCacheOnce(id, column, key, rCacheLong, redissonClient, baseDao);
  if (Objects.isNull(rResultLong)) {
    return 0L;
  }
  return rResultLong.get();
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

/**
 * 读取count
 * @param id
 * @param cacheModelEnum
 * @return
 */
public Long readBizCount(Long id, CacheModelEnum cacheModelEnum) {
  String redisKey = String.format(cacheModelEnum.getRedisKey(), id);
  RAtomicLong rCacheLong = redissonClient.getAtomicLong(redisKey);
  RAtomicLong rResultLong = getSourceToCacheOnce(id, cacheModelEnum, rCacheLong);
  if (Objects.isNull(rResultLong)) {
    return 0L;
  }
  rCacheLong.expireAsync(AppConfig.COMMON_COUNT_CACHE_DAYS, TimeUnit.DAYS);
  return rResultLong.get();
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

public static Long writeCount(DefaultAsyncEventBus eventBus,Long id, String column,String key, RedissonClient redissonClient,BaseDao baseDao) {
  RAtomicLong rCacheLong = redissonClient.getAtomicLong(key);
  RAtomicLong rResultLong = getSourceToCacheOnce(id, column, key, rCacheLong, redissonClient, baseDao);
  if (Objects.isNull(rResultLong)) {
    //TODO 进入MQ模式
    //mqProducter.send(message);
    return 0L;
  }
  long cacheCount = rResultLong.incrementAndGet();
  //进入步长模式,调用Event
  CacheSyncEvent event = new CacheSyncEvent();
  event.setCacheValue(cacheCount);
  eventBus.post(event);
  return cacheCount;
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

private boolean checkStepCondition(CacheSyncEvent cacheSyncEvent, RAtomicLong rCacheLong) {
  //
  RAtomicLong rRanageAtomicLong = redissonClient.getAtomicLong(rCacheLong.getName() + "_range");
  long ttl = rRanageAtomicLong.remainTimeToLive();
  long value = rRanageAtomicLong.get();
  if (ttl < AppConfig.COMMON_COUNT_RANGE_DAYS * 24 * 3600 * 1000 - AppConfig.CACHE_TIME_RANGE) {
    rRanageAtomicLong.expire(AppConfig.COMMON_COUNT_RANGE_DAYS, TimeUnit.DAYS);
    return true;
  }
  if (cacheSyncEvent.getCacheValue()-value >= AppConfig.CACHE_COUNT_RANGE) {
    rRanageAtomicLong.set(cacheSyncEvent.getCacheValue());
    return true;
  }
  return false;
  //return true;
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

/**
 * 异步队列写入count
 * 无需修改cache的值
 * @param cacheSyncEvent
 */
public void writeStepCount(CacheSyncEvent cacheSyncEvent) {
  log.info("writeStepCount:{}", cacheSyncEvent);
  RAtomicLong rCacheLong = redissonClient.getAtomicLong(cacheSyncEvent.getCacheKey());
  //获取步长是否满足补偿条件
  if (checkStepCondition(cacheSyncEvent, rCacheLong)) {
    //封装
    CacheModelEnum cacheModelEnum = CacheModelEnum.lookup(cacheSyncEvent.getIndex());
    if (retryCountToCache(cacheSyncEvent.getId(), 0, cacheModelEnum, rCacheLong)) {
      //回写DB
      if (rCacheLong.get() > 0) {
        writeValue(rCacheLong.get(), cacheSyncEvent.getId(), cacheModelEnum);
      }
    }
  }
  rCacheLong.expire(AppConfig.COMMON_COUNT_CACHE_DAYS, TimeUnit.DAYS);
}

代码示例来源:origin: justlive1/earth-frost

@Override
protected boolean shouldNotify(Event event) {
 JobInfo jobInfo =
   BeanStore.getBean(JobRepository.class).findJobInfoById(event.getData().getJobId());
 if (jobInfo != null && Objects.equals(event.getType(), Event.TYPE.EXECUTE_SUCCESS.name())
   && jobInfo.getChildJobIds() != null && jobInfo.getChildJobIds().length > 0) {
  JobSharding sharding = event.getData().getSharding();
  if (sharding == null) {
   return true;
  }
  int count = (int) BeanStore.getBean(RedissonClient.class).getAtomicLong(String
    .format(JobConfig.EVENT_SHARDING, event.getData().getJobId(),
      event.getData().getLoggerId())).incrementAndGet();
  return count == sharding.getTotal();
 }
 return false;
}

代码示例来源:origin: redisson/redisson-examples

public static void main(String[] args) {
  // connects to 127.0.0.1:6379 by default
  RedissonClient redisson = Redisson.create();
  RAtomicLong atomicLong = redisson.getAtomicLong("myLong");
  atomicLong.getAndDecrement();
  atomicLong.getAndIncrement();
  
  atomicLong.addAndGet(10L);
  atomicLong.compareAndSet(29, 412);
  
  atomicLong.decrementAndGet();
  atomicLong.incrementAndGet();
  
  atomicLong.getAndAdd(302);
  atomicLong.getAndDecrement();
  atomicLong.getAndIncrement();
  
  redisson.shutdown();
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

/**
 * MQ异步写去count
 * 需要修改cache的值
 * @param cacheSyncMessage
 */
public void writeMQCount(CacheSyncMessage cacheSyncMessage) {
  //封装
  RAtomicLong rCacheLong = redissonClient.getAtomicLong(cacheSyncMessage.getCacheKey());
  CacheModelEnum cacheModelEnum = CacheModelEnum.lookup(cacheSyncMessage.getIndex());
  //同步redis+db
  if (retryCountToCache(cacheSyncMessage.getId(), 0, cacheModelEnum, rCacheLong)) {
    //修改redis数据
    long value = cacheSyncMessage.isAdd()?rCacheLong.incrementAndGet():rCacheLong.decrementAndGet();
    if (value > 0) {
      writeValue(value, cacheSyncMessage.getId(), cacheModelEnum);
    }
  }
  rCacheLong.expire(AppConfig.COMMON_COUNT_CACHE_DAYS, TimeUnit.DAYS);
}

相关文章

微信公众号

最新文章

更多