发表于: 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测试---遇到问题 ---解决问题----提高


返回列表 返回列表
评论

    分享到