记录下实际开发中遇到生成唯一有序的编号需求如ZZ190500001末尾自增,一开始想到数据库来生成但是过于麻烦就直接把这个想法给干掉,之后想了一圈 想到想到了Redis incr命令。
一、了解Redis Incr 命令
Redis Incr 命令将 key 中储存的数字值增一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
二、语法
redis Incr 命令基本语法如下:
redis 127.0.0.1:6379> INCR KEY_NAME
实例
redis> SET page_view 20 OK redis> INCR page_view (integer) 21 redis> GET page_view # 数字值在 Redis 中以字符串的形式保存 "21"
三、使用Incr命令实现编号需求
通过一和二我们可以基本了解Incr的作用,现在基本就是编号代码怎么处理,第一步编写一个util工具类
public class SeqUtils{
//获取时间格式为1903
public static String getTimeYYMM() {
String year = new SimpleDateFormat("yy", Locale.CHINESE).format(Calendar.getInstance().getTime());
String month = new SimpleDateFormat("MM", L