您的位置:首页 > 数据库 > Mongodb

如何使用MongoDB+Springboot实现分布式ID

2018-06-05 10:30 971 查看
如何实现分布式id,一般会给出这几种方案

使用数据库自增Id

使用reids的incr命令

使用UUID

Twitter的snowflake算法

利用zookeeper生成唯一ID

MongoDB的ObjectId

mongodb如何实现分布式ID

MongoDB的ObjectId设计成轻量型的,不同的机器都能用全局唯一的同种方法方便地生成它。MongoDB 从一开始就设计用来作为分布式数据库,处理多个节点是一个核心要求。使其在分片环境中要容易生成得多。

实现方式
1.引入mongodb依赖
<!--mongodb -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
2.创建一个实体类
public class Customer {
@Id
public String id;
public String firstName;
public String lastName;

public Customer() {}
此处省略get,set
}
3.创建mongodb 接口类
public interface CustomerRepository extends MongoRepository<Customer, String> {
public Customer findByFirstName(String firstName);
public List<Customer> findByLastName(String lastName);

}
4.测试类
@Autowired
CustomerRepository customerRepository;
@Test
public void mongodbIdTest(){
Customer customer=new Customer("lxdxil","dd");
customer=customerRepository.save(customer);
logger.info( "mongodbId:"+customer.getId());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息