发表于: 2017-10-01 22:16:03

1 675


一.今天主要完成的事情

1.梳理昨天方案评审时老大提出的问题

 (1).表结构设计不合理规范,表结构的设计只是按照之前做任务时的方式设计,没有深入的了解公司DAL框架,并结合公司框架的特点设计表

 (2).部分功能设计不符合实际情况.比如登陆注册,之前想的太过于简单;还款计划,功能实现不符合实际要求,实际中要求创建一张表,记录用户购买的每一款产品的还款计划,跑批时只要扫表做相应的处理即可;销量统计,功能实现不合理,要求要建表记录并且用户的每一次操作都必须是立刻更新.

 (3).对公司DAL框架理解不深入,excel中sql语句没有写

2.观看老大关于java概述,DAL缓存,Mysql的sql语句,索引等视频.

通过看视频,对公司框架有了进一步的认识

首先,该框架使我们只关心业务逻辑的编写,像其他的包括链接数据库,写缓存,更新维护缓存等以及一些基本的配置都帮我们做好了.

DAL框架的底层是用JDBC和Hibernate实现的.

有了该框架,我们在设计表时要先分析业务对象之间是一对一,一对多,还是多对多的关系,不同的关系决定设立几张表,可能还会设计关联表.同时,在使用sql时尽量使用简单的sql语句,因为这种查询数据的操作走缓存的概率更大,能够支持更高的并发量.

还有在用sql时尽量不要联表查询,因为表数量越多,效率就越差.

动态查询和较为复杂的sql语句是不能走缓存的,这些需要我们在代码生成之后在代码中调用方法拼接成实际需要的sql语句.


其次,关于缓存设计和维护要根据不同的场景进行选择,常见的方式有以下几种:

1.   定时更新缓存,适合于对数据即时性要求不高,当时访问次数频繁的场景

2.   每次向数据库插入,更新,删除数据时同时维护缓存,适合并发量大,读操作非常频繁的场景,但是缺点时代码复杂度较高

3.   每次向数据库插入,更新,删除数据的同时删除缓存中的相应数据,适合并发量不大的场景,缺点是如果出现极端情况,并发量突然增大,会有压垮数据库的风险

4.   在一开始向缓存中存数据时,设置失效时间,到期自动失效,通过在存数据时生成一个失效时间戳,访问缓存时比较当前时间戳和失效时间戳的大小,当前时间戳大于失效时间戳时就不返回数据.

二.明天计划完成的事情

1.根据今天看视频的设计原则,对照接口文档,重新设计数据表,并将能够直接生成并且可以走缓存的sql语句填入表中

2.如果有时间,对出现问题的功能设计重新思考实现方案.

三.遇到的问题

暂无

四.收获

以上

五.项目进度情况

有延期风险



返回列表 返回列表
评论

    分享到