Class PushExpireCacheService

java.lang.Object
com.bytedesk.core.push.PushExpireCacheService

@Service public class PushExpireCacheService extends Object
  • Field Details

    • stringRedisTemplate

      private final org.springframework.data.redis.core.StringRedisTemplate stringRedisTemplate
  • Constructor Details

    • PushExpireCacheService

      public PushExpireCacheService()
  • Method Details

    • scheduleIfPending

      public void scheduleIfPending(PushEntity push)
      将待过期的 push uid 写入 ZSET(member=uid, score=expireAtMillis)。
    • remove

      public void remove(String pushUid)
    • pollExpiredUids

      public Set<String> pollExpiredUids(int batchSize)
      获取一批已到期的 push uid,并从 ZSET 中移除(非严格原子,但足够幂等)。
    • tryAcquireBackfillLock

      public boolean tryAcquireBackfillLock(long ttlSeconds)
      获取 DB 兜底任务锁。
    • getExpireTtlMillis

      private long getExpireTtlMillis(String type)