Springboot-ElasticSearch
1.检索ElasticSearch
分布式搜索服务
这里也是作为一个服务存在的,不是嵌入到springboot里面的
如果是在linux上下载完ElasticSearch以后,启动的话会占用2个G的内存空间
这里的9300是用于分布式节点访问端口
在这里可以改写ES的内存,这里的命令就不说了,有点像之前启动springboot的各种
的一些特点
obj最终是以json格式被存在ES上的
3.简单的基本操作
ES是一个分布式数据库,说是拿来做索引,其实就是根据你的业务,把他们来作为一个数据库,而这个数据库的特点就是索引
这里给的dmeo是使用Restful风格,用PUT/GET/HEAD/DELETE这些一般不用的HTTP请求方式
在这里springboot是默认使用spring DATA来操作ES
4.springboot操作es
有2种技术支持操作es:Jest(默认不生效、如何用Jest操作es就不在这里写了)、springData ElasticSearch
所以我们默认使用springData ElasticSearch,涉及到有:
①Client 节点信息clusterNodes;clusterName
②ElasticSearchTemplate 操作es
③编写一个ElasticsearchRespository的子接口来进行crud,这里有点像JPA
④版本问题,如果有版本问题,要么换springboot,要么换es,这里选择换es
.springData ElasticSearch的实际操作
①写一个bean实体类,标注@Document,用来指定索引,类型,连写indexName、type等
②写一个repository的接口,然后继承es的repository的接口,然后就可以使用操作es的api了(一样类似JPA:动态代理直接用接口操作)
Springboot-Task
1.异步任务
我们在application上面加一个@EnableAsync注解表示开启了异步任务,什么意思呢
你在你写的servcie层的方法上面加了@Aysnc注解以后,如果在controller层调用该service方法,另开线程,所以这里的service方法不会堵塞
2.定时任务
@EnableScheduling:开启定时任务注解
@Scheduled:给需要定时的方法上加这个注解,这里使用到了一个叫做"cron表达式",cron表达式,可以给定时任务设置时间
3.邮件任务
这里注意一点,配置使用的密码是你的邮箱账户里面的一个第三方许可登录的密码,还有ssl的设置的,用到的时候再看吧
小结:
springboot快弄完了,坚持弄完,详细研究下怎么搞redis/es/mysql的集群问题