发表于: 2017-06-14 17:38:57
1 1130
【说明1】红黄青绿代表一二三四级标题
【说明2】今天做了任务六,也是蛮有收获的;
一:今日完成
1)加上memcache (服务进程,maven依赖,xml配置,web.xml引用,util 工具类,测试类) √
自己理解:
多用户访问网站会有一些经常访问的数据,不停地读写数据库是影响效率的,所以可以把那些经常访问的数据放到内存里面,而内存的访问速度是极快的,并且有一定的访问算法,提高命中率。
关键实践:
1,spring整合memcache
<context:property-placeholder order="2" location="classpath:init.properties" ignore-unresolvable="false"/>
<!-- Memcached 配置 -->
<bean id="memcachedPool" class="com.danga.MemCached.SockIOPool"
factory-method="getInstance" init-method="initialize" destroy-method="shutDown" >
<!-- 作为工厂方法 getInstance() 的参数, 即指明 poolname 为 memcachePool -->
<constructor-arg>
<value>memCachedPool</value>
</constructor-arg>
<property name="servers">
<list>
<value>${memcached.server}</value>
</list>
</property>
<property name="initConn">
<value>${memcached.initConn}</value>
</property>
<property name="minConn">
<value>${memcached.minConn}</value>
</property>
<property name="maxConn">
<value>${memcached.maxConn}</value>
</property>
<property name="maintSleep">
<value>${memcached.maintSleep}</value>
</property>
<property name="nagle">
<value>${memcached.nagle}</value>
</property>
<property name="socketTO">
<value>${memcached.socketTO}</value>
</property>
</bean>
<bean id="memCachedClient" class="com.danga.MemCached.MemCachedClient">
<!-- 在使用 memcachedClient 访问 memchached 时, 需指明 poolname 为 memcache,指定默认-->
<constructor-arg>
<value>memCachedPool</value>
</constructor-arg>
</bean>
2,memcache 工具类
3,web.xml 配置
2)新建数据(注册)(需要接口) 同时 维护缓存 √
自己理解:
注册页面会向数据库里面插入数据,可以在插入数据库的同时 在内存里面也同样 放置一份,然后需要用户信息的时候先去内存里面查找(只有新用户可行)
关键实践:
1,controller 里面的设置
3)压测 jsp 和 json 两种 (咦?jsp 显示json 怎么办) √
自己理解:
jsp可以显示 java 对象或者 json对象,单纯地返回 json字符串 是可行的,jsp 对数据进行获取 和 显示也是可行的
关键实践:
1,导入依赖
2,controller 处理
3,jsp返回 获取对象 并 转化 成 json格式
4)部署两台 web,用nginx的 upstream 负载 √
自己理解:
真实的应用场景对服务的要求是很高的,系统稳定提供服务是必须要求的,尽可能少地出现 服务宕机 导致 用户不能访问的情况,因此可以部署多个服务,通过 nginx 的配置 达到 动态调整的程度。
关键实践:
5)压测报告(wiki,或邮件 上查) √
自己理解:
压测报告是测试人员对 开发人员 做好的系统进行 性能测试留下的 文档,一些关键 数据,比如 95% 用户的的 请求响应时间和 TPS 和 TRS等等,都是很有说服力的。
关键实践:
二:明日计划
任务七:包括短信、邮箱、图片的第三方
三:疑难问题
BUG1:
出错提示:
IllegalArgumentException: Could not resolve placeholder in string value "${XXXXXX}"
还原场景:
spring 配置文件里面 导入 properties 文件 产生的
问题分析:
引入属性文件有两种方式 ,同时使用是不行的
解决办法:
全部采用同一种方式
BUG2:
出错提示:
java.io.notserializableexception java 序列化报错
还原场景:
测试memcache 的时候 client 访问 model 数据出现的问题
问题分析:
memcache 存放数据 需要对数据 进行序列化
解决办法:
实现 java.io.Serializable接口即可
四:思考总结
计划学习--任务模块--查询资料---理解难点--demo测试---遇到问题 ---解决问题----提高
评论