1. Historical version
v1.0 supports DB method to generate serial number
2. New version feature description
v1.1 supports redis method to generate serial number
3. Use the tutorial
(1) How to use the API
public class RedisTest_Api {
private com.xuanner.seq.sequence.Sequence userSeq;
@Before
public void setup() {
//利用Redis获取区间管理器
RedisSeqRangeMgr redisSeqRangeMgr = new RedisSeqRangeMgr();
redisSeqRangeMgr.setIp("121.196.218.206");//IP[必选]
redisSeqRangeMgr.setPort(6379);//PORT[必选]
redisSeqRangeMgr.setAuth("123456");//密码[可选]看你的redis服务端配置是否需要密码
redisSeqRangeMgr.setStep(10);//每次取数步长[可选] 默认:1000
redisSeqRangeMgr.init();
//构建序列号生成器
DefaultRangeSequence defaultRangeSequence = new DefaultRangeSequence();
defaultRangeSequence.setName("user");
defaultRangeSequence.setSeqRangeMgr(redisSeqRangeMgr);
userSeq = defaultRangeSequence;
}
@Test
public void test() {
long start = System.currentTimeMillis();
for (int i = 0; i < 100; i++) {
System.out.println("++++++++++id:" + userSeq.nextValue());
}
System.out.println("interval time:" + (System.currentTimeMillis() - start));
}
(2) How to use Spring
xml placement
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd" default-autowire="byName"
default-lazy-init="false">
<!-- 序列号步长管理器 -->
<bean id="redisSeqRangeMgr" class="com.xuanner.seq.range.impl.redis.RedisSeqRangeMgr" init-method="init">
<!-- IP[必选] -->
<property name="ip" value="121.196.218.206"/>
<!-- PORT[必选]-->
<property name="port" value="6379"/>
<!-- 密码[可选]看你的redis服务端配置是否需要密码-->
<property name="auth" value="123456"/>
<!-- 每次取数步长[可选] 默认:1000-->
<property name="step" value="10"/>
</bean>
<!-- 具体使用demo -->
<bean id="userSeq" class="com.xuanner.seq.sequence.impl.DefaultRangeSequence">
<property name="seqRangeMgr" ref="redisSeqRangeMgr"/>
<property name="name" value="user"/>
</bean>
</beans>
code usage
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:redis-test.xml" }) public class RedisTest_Spring { @Autowired private Sequence userSeq; @Test public void test() { for (int i = 0; i < 1000; i++) { System.out.println("++++++++++id:" + userSeq.nextValue()); } } }