后台使用业务场景:1.使用数据库自??增主键生成唯一ID,不能满足每个系统自动生成的需求-独立增加唯一ID。在分布式系统中,需要生成唯一ID的系统不止一个。这些ID的生成在各自的业务中是独立的,包含业务规则。如果要使用数据库自??增主键生成唯一ID,需要为每个业务部门创建一个唯一ID。表以提供唯一ID。2、数据库自增主键不能满足性能要求。而由于Redis的高性能和单线程的特点,在这方面有着得天独厚的优势。为解决各系统独立生成自增唯一ID的需求,实现简单有效,进行如下设计。每个系统的独立自增ID生成器数据库设计(mysql)DROPTABLEIFEXISTSsys_id_record;CREATETABLEsys_id_record(idINTUNSIGNEDAUTO_INCREMENT,sys_idVARCHAR(40)NOTNULLCOMMENT'subsystemID',sys_nameVARCHAR(100)NOTNULLCOMMENT'subsystemname',id_fromINTNOTNULLDEFAULT1COMMENT'subsystemIDstartingvalue',lengthSMALLINTNOTNULLDEFAULT10COMMENT'subsystemIDlength',enabledVARCHAR(1)NOTNULLDEFAULT'Y',created_byVARCHAR(40)NOTNULLCOMMENT'创建者',created_dateDATETIMECOMMENT'创建时间',updated_byVARCHAR(40)NOTNULLCOMMENT'更新者',updated_dateDATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'更新时间',PRIMARYKEY(id))ENGINE=INNODB默认字符集=utf8;主要代码定义服务接口包com.davidwang456.test;publicinterfaceIDGenerateService{StringgetIDGenerateBySys(StringsysId);}接口服务实现包com.davidwang456.test;importjava.util.ArrayList;importjava.util.List;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.redis.core.RedisTemplate;导入org.springframework.stereotype.Service;@Servicepublic类IDGenerateServiceImpl实现IDGenerateService;if(idSys==null){List
