涉及中间件
- Redis
伪代码
//key生成方法一 (时间加枚举)
String key = getTime() + constant_key;
//采用redis的原子自增方法
Long id = redis.Inc(key);
//做异常判断
if (id == null || id <= 0) {
throw Exception();
}
//为该key设定value最大值限定方案 (方案根据实际情况而定)
if (id > 99999){
redis.set("key", "1");
id = 1;
}
//为key设置过期时间
if (id == 1) {
//这里设定24小时的过期时间
redis.expire(key, 1, TimeUnit.DAY);
}
//写一个自动补位的方法,这里假设为 getStringId(long id, int length)
String result = getStringId(id, 10);