欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

es和mysql一般如何配合

錢多多2年前12瀏覽0評論

es和mysql是兩個常見的數據庫,如果在使用中將它們配合得當,可以使得整個系統的表現更為優秀。下面我們來看一下es和mysql是如何配合的。

通常來說,es用來進行全文搜索,mysql則主要用來存儲數據。當我們需要搜索某些數據時,我們可以使用es來搜索,獲得搜索結果后再利用mysql進行數據的存儲和更新。這種分工的方式可以降低mysql的負荷,提高搜索效率。

為了更好地配合es和mysql,我們需要對它們進行以下配置:

#es配置
spring.data.elasticsearch.cluster-name=es
spring.data.elasticsearch.cluster-nodes=192.168.0.1:9300
#mysql配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

其中,spring.data.elasticsearch.cluster-name和spring.data.elasticsearch.cluster-nodes是es的相關配置。而spring.datasource.driver-class-name、spring.datasource.url、spring.datasource.username、spring.datasource.password是mysql的相關配置。

除此之外,我們還需要按照以下方式進行代碼的編寫:

//es中搜索數據的代碼
public Listsearch(String key) {
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();
queryBuilder.withQuery(QueryBuilders.termQuery("title", key));
Pagepage = itemRepository.search(queryBuilder.build());
return page.getContent();
}
//mysql中存儲數據的代碼
public int insert(User user) {
String sql = "insert into user (name, age) values (?, ?)";
Object[] params = {user.getName(), user.getAge()};
int count = jdbcTemplate.update(sql, params);
return count;
}

將es和mysql進行配合是非常有必要的,它可以提高整個庫表的搜索效率,同時減少mysql的負荷。只要按照以上方式進行配置和編寫代碼,我們就可以將es和mysql做好配合,讓整個系統表現更優秀。