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零点过期,生成自增的单号相关推荐
- Redis源码分析:过期key删除与设置key的过期时间
Redis中设置key过期时间与过期key的处理流程 在Redis中,可以再设置值的时候就设置该Key的过期时间,也可以通过在expire命令来设置某个key值的过期时间,并且在了解完设置过期时间之后 ...
- 使用RedisTemplate 设置key有前缀 \xAC\xED\x00\x05t\x00\x04 value有前缀 \xAC\xED\x00\x05t\x00\x08 问题解决
RedisTemplate<String, Object> redisTemplate; 需要自定义一下 不然 有可能序列化方式不对 导致这样的问题 @Configuration publ ...
- 如何通过redisTemplate获得key的过期时间
/** 从redis中获取key对应的过期时间; 如果该值有过期时间,就返回相应的过期时间; 如果该值没有设置过期时间,就返回-1; 如果没有该值,就返回-2; */ public Long getE ...
- redisTemplate获得key的过期时间方法
/** * 从redis中获取key对应的过期时间; * 如果该值有过期时间,就返回相应的过期时间; * 如果该值没有设置过期时间,就返回-1; * 如果没有该值,就返回-2; */ redisTem ...
- vue前端自动生成编号或者订单单号(日期+随机数)
created () {// 调用获取当前日期的方法加四位随机数 赋值表单中的项目编号this.form.number = this.getProjectNum() + Math.floor(Math ...
- Redis Expire 设置key过期时间
Expire Redis Expire 命令用于设置 key 的过期时间.key 过期后将不再可用. 用法:Expire key 127.0.0.1:6379 [8] > set keyname ...
- redis设置key的有效期
Key命令 设置key的过期时间. 查询当前所有的key expire key second:设置key的过期时间 若执行ttl key 显示为-2 则说明改值不存在缓存中 显示为-1则是持久化的 ( ...
- java redis expire 1_redis 下key的过期时间详解 :expire
Redis是一个开源的Key-Value数据缓存,和Memcached类似. Redis多种类型的value,包括string(字符串).list(链表).set(集合).zset(sorted se ...
- 高可用高性能可扩展的单号生成方案
作者:赵玉开,十年以上互联网研发经验,2013年加入京东,在运营研发部任架构师,期间先后主持了物流系统自动化运维平台.青龙数据监控系统和物流开放平台的研发工作,具有丰富的物流系统业务和架构经验.在此之 ...
最新文章
- eclipse链接mysql数据池配置_Tomcat+mysql+eclipse数据库连接池配置
- centos7安装单节点mysql(源码包安装)
- 如何使用计算机中的导出,如何将iPhone手机中的音乐导出至电脑
- PyTorch 1.0 中文官方教程:使用PyTorch进行深度学习
- k8s高可用集群_搭建高可用集群(初始化和部署keepalived)---K8S_Google工作笔记0055
- commit分拆多个 git_Git操作:在多个分支之间,使用git am打patch和同步分支
- CAP、BASE、ACID基本概念
- 历届二级c语言pdf,国家计算机二级C语言历年真题与答案.pdf
- matlab二维函数的傅立叶变换,二维傅里叶变换和滤波(Two
- vue 如何打开接口返回的HTML文件
- 三亚自由行游记,探秘这座美丽小岛
- 使用vot-toolkit-python测试VOT2020
- 软件测试面试题:一个输入手机号获取验证码的页面,说出测试过程
- 基于时频域统计特征提取的自然环境声音识别方法
- Edge 浏览器 URLSearchParams bug 修复
- VGA RGBHV 时序图
- Unity 代码实现形成圆形及形成球形
- 【AD20学习笔记】PCB设计规则设置及手工布线
- 天地图 android studio,AndroidStudio 加载 天地图 (2019年后开发授权申请)
- 数据共享之相互排斥量mutex
热门文章
- 【COCOS CREATOR 系列教程之二】脚本开发篇事件监听、常用函数等示例整合
- java web 程序---javabean实例--登陆界面并显示用户名和密码
- 最清晰细致的教程!一步步教你打造Win7+CentOS双系统
- 在win7环境下使用网络无线共享把电脑变成一台无线路由器
- Maven项目编译工具的使用
- 深圳SQL数据库823报错修复
- linux系统编程练手项目,精选 22 个 C++ 项目,编程小白练手首选!
- 手机音频通道被占用_关于凯叔讲故事APP的音频导出下载
- 图像极坐标变换及在OCR中的应用
- python制作自动回复脚本_python itchat实现微信自动回复的示例代码