redisTemplate设置key零点过期,生成自增的单号
生活随笔
收集整理的這篇文章主要介紹了
redisTemplate设置key零点过期,生成自增的单号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
public String getId() {String key = "finance:funs:code";Long incr = getIncr(key);if (incr == 0) {incr = getIncr(key);//從0001開始}DecimalFormat df = new DecimalFormat("0000");//四位序列號String format = df.format(incr);return format;}public Long getIncr(String key) {RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory());Long increment = entityIdCounter.getAndIncrement();Long expiresTime = getSecondsNextEarlyMorning();redisTemplate.opsForValue().set(key, "pay", expiresTime, TimeUnit.SECONDS);return increment;}/*** 判斷當前時間距離第二天凌晨的秒數** @return 返回值單位為[s:秒]*/public Long getSecondsNextEarlyMorning() {Calendar cal = Calendar.getInstance();cal.add(Calendar.DAY_OF_YEAR, 1);cal.set(Calendar.HOUR_OF_DAY, 0);cal.set(Calendar.SECOND, 0);cal.set(Calendar.MINUTE, 0);cal.set(Calendar.MILLISECOND, 0);return (cal.getTimeInMillis() - System.currentTimeMillis()) / 1000;}
key自己替換
redisTemplate.opsForValue().set(key, "pay", expiresTime, TimeUnit.SECONDS);中的pay自定義總結
以上是生活随笔為你收集整理的redisTemplate设置key零点过期,生成自增的单号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware下Centos7快速搭建vs
- 下一篇: Monkey Test 命令使用