用户工具

站点工具


api:sequence

下个序列

  https://api.xlongwei.com/service/sequence/next.json

请求

参数 类型 必填 说明 示例
name String N 序列名 test
step long N 步长 1
type String N 类型 redis
format String N 格式化 QZ%2$tY%2$tm%2$td%06d

响应

参数 示例
next 1

序列,可理解为主键自增序号,适用于需要按顺序获得序列号的场景。 此接口提供了两种实现类型:

  1. redis,默认方式,使用incr命令自增name对应的key
  2. mysql,使用sequence表和函数实现value的增长

此接口的优势:

  • name可用于区分场景和日期,示例:TS20220125,每天都从1开始递增
  • 相比主键自增,需要多个序列时,不必创建多张表和多个序列函数
  • 订购客户与测试用户的key不冲突,建议key不要超过30个字符
  • step为两次next的差值(next=prev+step),可批量获取序列号,有效范围 [next,next+step)
  • 拿到next后可使用String.format(“%09d”,next)格式化为000000001,拼接name即可用作主键
  • name不区分日期时,可使用String.format(“QZ%2$tY%2$tm%2$td%06d”,next, new Date())格式化

format参数拼接url时,需要转码;也可post提交{“format”:“QZ%2$tY%2$tm%2$td%06d”}

示例

重置序列

  https://api.xlongwei.com/service/sequence/update.json

请求

参数 类型 必填 说明 示例
name String N 序列名 test
value long N 序列值 0
type String N 类型 redis

响应

参数 示例
update true
api/sequence.txt · 最后更改: 2022/03/09 18:57 由 admin