项目中 界面上左侧为一棵数型结构,而每个节点都是动态获取的,
即树的子节点可能会更改(但是可能很久都不会更改)。
因此这个时候我们需要考虑是否每次点击节点都实时从数据库获取子节点?
答案当然是否定的。因为这个树结构是可能长期不变更的,难道每个用户请求一次我们都去访问数据库吗?
这样会给数据库造成一定的压力
因此博主这里用到了如题所言的方式去实现此业务场景
因此这里考虑到用单例模式
做法
1.创建一个单例类,类里面有个成员变量Map<String,String[]> 用来存放该节点的ID 已经子节点数组
2.用户第一次点击树节点的时候 把节点放在单例类的map里面拿,下次点击则从map里取,有则取无则连数据库拿
3.这样其他用户点击同一个树拿子节点便可以不用访问数据库
4.基本做法就是以上,但是我们需要考虑到一个树结构会变更的问题
5基于以上问题,我们可以在web.xml里面定义一个监听器,监听tomcat的启动,启动的时候设置一个定时任务
6.定时任务里面 定时对map清空
7.可以给管理员提供一个按钮,树结构变更,管理员可以去手动点击按钮清空map