当前位置: 首页 > news >正文

门户网站建设的平台网页制作三剑客即

门户网站建设的平台,网页制作三剑客即,seo关键词排名,廊坊视频优化排名在某些特定的业务场景下#xff0c;会需要使用自增的序列来维护数据#xff0c;目前项目中因为使用MongoDB#xff0c;顾记录一下如何使用MongoDB实现自增序列。 MongoDB自增序列原理 MongoDB本身不具有自增序列的功能#xff0c;但是MongoDB的$inc操作是具有原子性的…在某些特定的业务场景下会需要使用自增的序列来维护数据目前项目中因为使用MongoDB顾记录一下如何使用MongoDB实现自增序列。 MongoDB自增序列原理 MongoDB本身不具有自增序列的功能但是MongoDB的$inc操作是具有原子性的因为操作的原子性那么就可以通过$inc序列1的值作用本次序列实现自增序列。 实现自增序列 定义自增序列IdSequence.java Document(collection sequences) Data public class IdSequence {Idprivate String id;/*** 自增的序列*/private long nextId; }定义自增序列类型枚举IdType.java Getter AllArgsConstructor public enum IdType {/*** 图书*/BOOK(book);private final String type; }定义获取自增序列辅助类IdHelper.java Component public class IdHelper {private final MongoTemplate mongoTemplate;public IdHelper(MongoTemplate mongoTemplate) {this.mongoTemplate mongoTemplate;}/*** 查询指定类型的自增序列** param idType 类型* return 自增序列*/public long nextId(IdType idType) {//构建查询对象Query query Query.query(Criteria.where(LambdaUtil.getFieldName(IdSequence::getId)).is(idType.getType()));//构建自增条件Update update new Update().inc(LambdaUtil.getFieldName(IdSequence::getNextId), 1L);//构建选项FindAndModifyOptions options FindAndModifyOptions.options().upsert(true).returnNew(true);//查询自增序列IdSequence idSequence mongoTemplate.findAndModify(query, update, options, IdSequence.class);//返回自增序列return Objects.requireNonNull(idSequence).getNextId();} }定义测试类 RestController RequestMapping(value /id) public class IdSequenceController {Resourceprivate IdHelper idHelper;GetMapping(value /nextId)public long nextId() {return idHelper.nextId(IdType.BOOK);}}总结 使用MongoDB实现自增序列是基于MongoDB的$inc操作指令经过测试100个并发下没有发现重复id的产生但是还是建议使用MongoDB自己的Id生成策略毕竟MongoDB作为非关系型数据库如果维护一个自增序列性能上肯定没有ObjectId好而且分片情况下需要自己校验自增序列的唯一性当然在某些特殊的业务场景下必须要使用自增序列的也属于正常如果大家有更好的方案欢迎讨论。
http://www.dnsts.com.cn/news/188776.html

相关文章:

  • 网站建设与维护面试什么内容能提高网站流量
  • 抖音网站建设的基本情况可以做问卷挣钱的网站
  • 网站开发那种语言html网页制作内容
  • 微应用和微网站的区别是什么企业的漏沟设计公司
  • 广西省建设厅网站如何软件网站优化公司
  • 南阳企业网站建设公司数据分析网站
  • 优化问题做母婴育儿类网站好做seo排名吗
  • 一站式互联网营销平台yw52777最新跳转接口
  • 2015年做哪些网站能致富wordpress-5.2.1
  • 做网站需要用到技术如何做网络推广工作
  • 类似优酷网站建设价格铜陵高端网站建设
  • 建站行业如何快速成第一单做网站怎么套用模板
  • 企业做网站价钱wordpress 响应时间
  • 张家口网站建设制作潍坊网站制作企业
  • 胶州建设信息网站专业网站建设大型公司
  • 可以做营销任务的网站东莞网页制作网站
  • 如何做网站在网上销售网站首页引导页模版
  • 沈阳网站建设聚艺科技在哪里查关键词排名
  • wordpress 插件位置人员优化方案
  • 本地电脑如何做网站学校的网站建设费如何入账
  • app定制开发网站建设百度广州分公司总经理
  • flash网站报价门户网络是什么
  • 怎么设计公司的网站模板wordpress灯箱zoom
  • 可以做数理化的网站学习做网站是什么专业
  • 横沥网站建设公司wordpress调用特色
  • 网站开发工程师职责多用户商城网站建设公司
  • 里水哪里做有做网站阿里巴巴官网网站
  • 好的高端企业网站建设公司花都有做网站
  • 深圳网站关键词优化推广不允许访问网站
  • 景宁县建设局网站恢复正常百度