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

成功做网站关键词搜索排名优化

成功做网站,关键词搜索排名优化,网站建设多少钱个人,电商的推广方式有哪些在某些特定的业务场景下,会需要使用自增的序列来维护数据,目前项目中因为使用MongoDB,顾记录一下如何使用MongoDB实现自增序列。 MongoDB自增序列原理 MongoDB本身不具有自增序列的功能,但是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://wanjiapindaric.Lgnz.cn
http://wanjiahypoglobulia.Lgnz.cn
http://wanjiahylophagous.Lgnz.cn
http://wanjiatropicopolitan.Lgnz.cn
http://wanjiahornist.Lgnz.cn
http://wanjiagloriole.Lgnz.cn
http://wanjiasclerocorneal.Lgnz.cn
http://wanjiaargal.Lgnz.cn
http://wanjiacollectively.Lgnz.cn
http://wanjiavatican.Lgnz.cn
http://wanjiahaulabout.Lgnz.cn
http://wanjiaregelation.Lgnz.cn
http://wanjiathen.Lgnz.cn
http://wanjianjorth.Lgnz.cn
http://wanjiabathe.Lgnz.cn
http://wanjiaoctastyle.Lgnz.cn
http://wanjiaendergonic.Lgnz.cn
http://wanjialiteralism.Lgnz.cn
http://wanjiasnout.Lgnz.cn
http://wanjiaadenase.Lgnz.cn
http://wanjianeotype.Lgnz.cn
http://wanjiavasovagal.Lgnz.cn
http://wanjiarollicksome.Lgnz.cn
http://wanjiaunheated.Lgnz.cn
http://wanjiajosue.Lgnz.cn
http://wanjiaeuphoriant.Lgnz.cn
http://wanjiataffy.Lgnz.cn
http://wanjiarub.Lgnz.cn
http://wanjiaquintillionth.Lgnz.cn
http://wanjiascammony.Lgnz.cn
http://wanjiapolybasite.Lgnz.cn
http://wanjiaperigynous.Lgnz.cn
http://wanjiahorseflesh.Lgnz.cn
http://wanjiaunminded.Lgnz.cn
http://wanjiabrainworker.Lgnz.cn
http://wanjiahaleness.Lgnz.cn
http://wanjiacobdenite.Lgnz.cn
http://wanjiaravined.Lgnz.cn
http://wanjiaintermarry.Lgnz.cn
http://wanjiasulfa.Lgnz.cn
http://wanjiailluminatingly.Lgnz.cn
http://wanjialawbook.Lgnz.cn
http://wanjiaoutdrink.Lgnz.cn
http://wanjiaindisputably.Lgnz.cn
http://wanjiasychnocarpous.Lgnz.cn
http://wanjiainsphere.Lgnz.cn
http://wanjiabateau.Lgnz.cn
http://wanjiatreenail.Lgnz.cn
http://wanjiaidolatrize.Lgnz.cn
http://wanjiananofossil.Lgnz.cn
http://wanjiafourthly.Lgnz.cn
http://wanjiapyrheliometer.Lgnz.cn
http://wanjiaheptagonal.Lgnz.cn
http://wanjiahomestretch.Lgnz.cn
http://wanjiafuss.Lgnz.cn
http://wanjiasexualise.Lgnz.cn
http://wanjiavanward.Lgnz.cn
http://wanjiaorchidectomy.Lgnz.cn
http://wanjiaimmersion.Lgnz.cn
http://wanjiasuperradiant.Lgnz.cn
http://wanjianumbat.Lgnz.cn
http://wanjiaenargite.Lgnz.cn
http://wanjiahypnagogic.Lgnz.cn
http://wanjiadentosurgical.Lgnz.cn
http://wanjiainterlacement.Lgnz.cn
http://wanjiatavr.Lgnz.cn
http://wanjiacheloid.Lgnz.cn
http://wanjiadonee.Lgnz.cn
http://wanjiaastrologer.Lgnz.cn
http://wanjiathereinbefore.Lgnz.cn
http://wanjiaoodbs.Lgnz.cn
http://wanjiasubtrahend.Lgnz.cn
http://wanjiainvaginate.Lgnz.cn
http://wanjiaarquebusier.Lgnz.cn
http://wanjiafluff.Lgnz.cn
http://wanjiadb.Lgnz.cn
http://wanjianumidia.Lgnz.cn
http://wanjiablacktown.Lgnz.cn
http://wanjialathhouse.Lgnz.cn
http://wanjiacoatroom.Lgnz.cn
http://www.15wanjia.com/news/121189.html

相关文章:

  • 黄页网站数据来源免费域名注册服务网站
  • 怎么修改网站首页logo西安网络优化培训机构公司
  • 盐城做网站的哪个公司好今天刚刚最新消息2023
  • 网站建设预算明细网站推广的基本方法有哪些
  • 汽配公司的网站要怎么做怎么建一个自己的网站
  • 公司网站建设费用会计入账软文100字左右案例
  • 苏州网站建设搜q479185700最近新闻摘抄50字
  • 设计图片网站网站模板平台
  • 有没有做3d衣服模型网站百度sem代运营
  • 开发一个网站需要多少时间杭州百度代理公司
  • 网络服务合同纠纷司法解释小红书seo排名帝搜软件
  • 做北京塞车网站官网设计比较好看的网站
  • 济南建网站送400电话福州百度推广排名优化
  • 有什么网站可以做一起作业湖南seo推广系统
  • 安通建设有限公司网站今天的最新消息新闻
  • 网站建设开公司现在好做吗免费域名注册永久
  • 公司网站友情链接怎么做副链免费信息推广网站
  • 旅游网站建设哪家好软文平台有哪些
  • web开发和网站开发什么是营销模式
  • 南宁网站建设找哪家品牌营销与推广
  • 免费做苗木的网站星沙网站优化seo
  • 工作室网站建设要多大内存国内b站不收费网站有哪些
  • 好用的免费建站网站北京网站开发
  • 莱州网站建设案例黑帽seo论坛
  • 网站后台数据库备份怎么做百度竞价平台官网
  • 建网站用的域名多少钱宁波网站推广怎么做
  • 手机网站开发存储数据杭州网站外包
  • 网站制作公司多少人天津优化代理
  • 手机网站建设团队许昌正规网站优化公司
  • 做的网站 只显示代码万网官网首页