08 2020 档案
摘要:MyBatisPlus_通用CRUD_创建具体的Mapper接口.
阅读全文
摘要:一.tomcat实现热部署 》在进行热部署时,工程中所有关于http的url中不要包含localhost或者127.0.0.1,都用真正的ip地址 二.maven的tomcat插件实现热部署 》maven的工程tomcat部署命令:clear tomcat7:redeploy DskipTests(
阅读全文
摘要:一.mysql主从复制 二.mysql读写分离
阅读全文
摘要:一.订单系统工程搭建 》目录结构参考其他工程 二.订单确认页面功能分析 三.订单确认页面展示 》订单确认页面准备提交给服务端的数据有三类:订单信息,订单商品明细,订单物流信息 》点击“去结算”,会调用展示“订单确认页面”的controller方法 四.订单系统拦截器实现 》代码: public cl
阅读全文
摘要:》下载好的mycat一级目录结构: 》在bin下面的mycat程序,可启动mycat服务 》常用命令和端口: 一.mycat配置数据库分片 》在mycat的conf目录中有三个重要的配置文件: 1.schema.xml:配置逻辑库,表,数据节点之间的关系 一个节点对应一个服务器的一个数据库,但一个服
阅读全文
摘要:一.购物车工程搭建 >创建e3-cart聚合工程以及下面的子模块,还有e3-cart-web工程,全部参照其他已有的工程实现 二.添加购物车-代码实现 1 @Value("${COOKIE_CART_EXPIRE}") 2 private Integer COOKIE_CART_EXPIRE; 3
阅读全文
摘要:一.sso工程的搭建 1.创建e3-sso聚合工程,以及子工程:e3-sso-interface,e3-sso-service,接着创建e3-sso-web 2.内容可参照其他的聚合工程和web工程 二.注册用户数据校验 》当用户在用户名,手机号,邮箱的输入框输入数据后,发送一个ajax请求到后台校
阅读全文
摘要:在集群环境下,session的共享可以用tomcat的session复制以广播的形式传给其他的tomcat,这种做法是有很大的弊端。 现在通常的做法是:将session统一放在一个sesioon服务器管理,也就是所谓的sso(单点登录系统);所有需要用户注册和登录校验的功能,统一由该服务器处理
阅读全文
摘要:1网页静态化方案 》网页最好预先生成好 2.改造jsp成freemarker 3.MessageListener实现 》在item-web实现对商品添加的监听器,用于同步或生成静态页面 》写入核心依赖,springmvc配置activemq相关的对象 》书写代码: public class Item
阅读全文
摘要:一.导包 二.在springmvc.xml配置freemarker的configuratuin(spring包装过的) 1.属性需要模板文件所在的目录路径,和文本编码(路径是相对于webapp下的) 三.测试;测试时就不能使用测试方法初始化一个springmvc容器,因为springmvc的容器是由
阅读全文
摘要:1.模板文件el表达式取值格式:${key}或${key.属性名} 2.遍历list集合 3.if-else 4.日期类型处理 》直接输出日期类型对象是会报错的,得遵循一定的语法 》显示日期: 》只显示时间: 》显示日期和时间: 》输出指定格式的日期日期时间: 5.null值或不存在的情况处理 》直
阅读全文
摘要:一.freemarker简介 二.使用入门 》使用freemaker写代码前,准备号模板文件,它的作用跟jsp差不多,可以理解为现有的文本+el表达式;格式没有任何要求,但是freemarker默认的格式是ftl,但我准备的是html文件作为模板 》正式进入代码部分:书写入门步骤大致分为8步: 1.
阅读全文
摘要:在java领域,表现层技术主要有三种:jsp、freemarker、velocity。jsp是大家最熟悉的技术 优点: 1、功能强大,可以写java代码 2、支持jsp标签(jsp tag) 3、支持表达式语言(el) 4、官方标准,用户群广,丰富的第三方jsp标签库 5、性能良好。jsp编译成cl
阅读全文
摘要:一.添加商品同步索引库-MessageListener 1.search-service的spring中需配置connenction工厂,destination的两个对象,监听器,监听容器 1.在search-service下书写一个SearchItemMessageListener实现接口Mess
阅读全文
摘要:一.导包 》除了activemq自身的包外,还需要spring和activemq整合的包 二.spring配置activemq 1.配置connection工厂 2.配置生产者 3.配置Destination对象,得配置两种:queue和topic 4.配置消息监听器的实现类,以及消息监听容器(相当
阅读全文
摘要:activeMQ默认配置下启动会启动8161和61616两个端口,其中8161是mq自带的管理后台的端口,61616是mq服务默认端口 。 8161是后台管理系统,61616是给java用的tcp端口。 一.Activemq-queue-Producer 自动应答:当接受到消息,自动给activem
阅读全文
摘要:》包下载完成,进入bin目录,执行activemq的文件,activemq启动完毕,可以地址栏访问本地端口8161(在包下还有一个jar,在使用java代码操作activemq时得导入,不同版本的这个jar会附带spring相关的依赖,如果真包含spring就不要导这个包,避免和我们已经导入的spr
阅读全文
摘要:在soa的架构中,实际上不提倡service工程之间直接调用,会造成启动时有先后的顺序,耦合度较高,我们是希望能有一个中间件作为两者通信介质,ActiveMQ在这方面是十分优秀的
阅读全文
摘要:Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android程序最底层就是运行在linux系统上的
阅读全文
摘要:》之前单机版操作solr,用一个对象solrServer;现在该为集群了,对象和参数也发生一点变化,且不连接solr,直接连接zookeeper来操作solrcloud,测试代码如下:
阅读全文
摘要:一.创建collection 》在浏览器的地址栏上,输入命令(前提solr工程开启)如下命令创建collection,并指定shard的个数和备份机的个数;replicationFactor代表总备份机数量,numShads代表分片数量 http://192.168.88.128:8180/solr
阅读全文
摘要:一.solr集群的搭建 1.在搭建前,需要4个tomcat服务器,每个tomcat上部署一个solr实例 2.分别编辑tomcat的server.xml,修改里面的三个端口,保证端口不要冲突 3.4个tomcat服务器准备完成,在其webapps下部署solr的web工程或war包 4.准备4个so
阅读全文
摘要:一.zookeeper集群搭建 1.在linux系统的/usr/local/solr-cloud/下创建3个zookeeper的下载包,代表3台zookeeper服务器 2.分别在zookeeper包下创建data目录,目录中创建名为myid的文件,在该文件里书写一个编号,比如1;代表该节点(zoo
阅读全文
摘要:一.solrCloud简介 》实现扩容可以追加shard 》实现负载均衡:zookeeper可以将请求均衡得分配的master和slave上 成 》zookeeper管理solr集群,我们的请求将直接发送给zookeeper,由zookeeper分配请求给不同的solr进行处理
阅读全文
摘要:一.solr业务域配置 1.确定数据库中哪些表的哪些字段需要作为业务域,再schame.xml中定义业务域;定义域的同时,有些域可能要进行分词,所以得在schame.xml中配置fieldType元素的中文分析器(域,中文分析器以及分析器的配置文件等都是预先在solr服务器上配置好的) 2.业务数据
阅读全文
摘要:1.导包 2.添加文档(修改文档,只要id相同就进行覆盖) 3.删除文档 4.solr查询
阅读全文
摘要:1.导包 》除了数据导入包,还需要连接mysql数据库,即mysql驱动包 2.配置数据导入的请求处理器;像查询和更新已经在solrconfig.xml中预先配好了,不过数据导入的处理器没配置,需要手动配 》solrconfig.xml加入如下配置: 》创建data-config.xml:该文件设置
阅读全文
摘要:》添加和修改document,若id一样则进行覆盖(在lucene中是自增长的,不需要我们管理,但在solr是要我们指定文档的域id); 》删除文档 》按查询条件删除
阅读全文
摘要:》在solr的example\solr\collection1\conf目录下, 有一个schema.xml,里面事先配置了很多的field,在solr后台界面想使用field的前提是该xml中已配置好,比如动态域: 》schame.xml有一个copyField复制域,该域可以理解成其他域的内容合
阅读全文
摘要:》solr里的bin目录,有个执行程序可以启动solr服务器,但是它是运行再jerry容器里面,并不在我们的tomcat的servlet容器中 搭建solr分为3步: 1.将solr提供的dist目录下的solr-4.10.3.war导入到tomcat下的webapps里 2.由于solr提供的we
阅读全文
摘要:》测试matchAllDocsQuery代码: 》NumericRangeQuery >BooleanQuery 》解析查询queryparser 》MultiFieldQueryParser
阅读全文
摘要:1.实现步骤: 2.代码 // 搜索索引 @Test public void testSearch() throws Exception { // 第一步:创建一个Directory对象,也就是索引库存放的位置。 Directory directory = FSDirectory.open(new
阅读全文
摘要:1.所需jar包 2.实现步骤: 3.field域的属性介绍 4.代码 // 创建索引 @Test public void testIndex() throws Exception { // 第一步:创建一个java工程,并导入jar包。 // 第二步:创建一个indexwriter对象。 Dire
阅读全文
摘要:分析文档的实质是从文档对象的域值提取关键词,即索引。每个关键词为一个term,一个文档解析出来的多个term叫做语汇单元; 》语汇单元由多个term组成 比如下面两个term是不一样的:
阅读全文
摘要:一.lucene的实现全文检索的流程
阅读全文
摘要:一.nginx原理图 二.master和多个worker的好处 三.设置多少worker
阅读全文
摘要:》高可用的示意图: 纠正:每个keepalived配对一个nginx, keepalived的master会与其他backup进行通信(keepalived之间通信),若master没有回应了,则代表主服务器宕机了 PS:虚拟Ip可以被多个ip所应用,但是同一时间只能绑定一个Ip来访问,当ip对应的
阅读全文
摘要:》动静分离示意图: 》准备工作 》测试 》若配置了autoindex,则会以目录的形式显示在页面上
阅读全文
摘要:》实现效果: 》准备工作: 》配置nginx.conf 》分配策略有如下:
阅读全文
摘要:1.实例1 》实现效果:在浏览器上访问www.123.com,经过nginx的转发,在页面上能显示出在tomcat里的网页 》如何做到访问域名来访问我们的nginx服务器,有两种方式:在windows的host文件配置域名和ip的映射,或者是花钱在外网上注册一个域名;当我们访问某个域名时,首先是先查
阅读全文
摘要:》在/nginx/conf/nginx.conf的配置文件是nginx的核心配置文件,文件内容三大块: 1.全局快 2.events块 3.http块
阅读全文
摘要:1.redis持久化方案 2.redis集群的原理 当写入一个key/value时,对该key进行特定算法得出一个对应的哈希槽,根据值找到包含该槽的redis服务器,并将该key/value存储在该服务器上(并不是将key存储在槽上,槽只是为了均匀得把Key放在不同的服务器上) 3.redis集群的
阅读全文
摘要:一.测试联通 》Jedis相当是java操作redis的一个客户端对象 二.测试常用api 三.jedis事务 四.jedis主从复制 》有时候第一次get的时候是Null,主库同步数据给从库,从库先存盘再读取内存,当get的时候,内存可能还没有 五.jedispool
阅读全文
摘要:只要将其他redis作为主机,则将其所有缓存数据同步 》当主机宕机了,从机原地待命,等待主机的恢复 》当从机宕机时会断开与主机的连接,恢复时不再是从机了,得再次重新连接 》从机想要变成主机(只是角色发生变更而已,并不是占有原先主机的角色),可使用如下命令: 》哨兵模式 当主机宕机,投票选举新的主机,
阅读全文
摘要:》正常执行: 》放弃事务: 》全体连坐 》冤头债主 》watch监控 》在监控某个key时,该key在其他事务中被修改了,本次事务若对key进行操作则事务会执行失败 》若监控中事务失败了,可以用unwatch取消监控,再重新监控
阅读全文
摘要:》aof和rdb可以同时存在,若有aof,默认先加载aof不加载rdb,否则加载rdb 》当出现特殊情况时,可能会出现整条写命令只有部分语句同步到aof中造成语句错误,之后在连接服务同时读取aof时会报错;但可以使用修复程序来修复
阅读全文
摘要:flushall,shutdown,save命令会立即触发持久化机制,立即将内存中的数据生成rdb文件,注意的是flushall后的rdb文件为空
阅读全文
摘要:bind:设置默认的连接ip地址 timeout:设置当redis客户端没有进行任何操作时达到一定时间自动断开连接 maxclients:最大连接数 maxmemory:最大缓存 maxmemory-policy:最大缓存时的缓存清除策略,即当达到最大缓存时,清除一些不必要的数据
阅读全文
摘要:》Key 》String **msetnx:当设置的key中,含有存在和不存在的,该条命令会失败 》List 》set 》hash >zset
阅读全文
摘要:一、key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符 *、?、[](?表示占位符) (2)randomkey:返回随机key (3)type key:返回key存储的类型 (4)exists key:判断某个key是否存在 (5)del key:删除key
阅读全文
摘要:1.备份redis.conf,默认出厂配置不要动,修改和使用备份的redis.conf 2.编辑redis.conf,修改daemonize为yes 3.开启redis服务,登录客户端(不需要密码)并指定端口号
阅读全文
摘要:一致性:读操作总是能读取到之前完成的写操作结果,满足这个条件的系统称为强一致系统,这里的“之前”一般对同一个客户端而言; 可用性:读写操作在单台机器发生故障的情况下仍然能够正常执行,而不需要等待发生故障的机器重启或者其上的服务迁移到其他机器; 分区可容忍性:机器故障、网络故障、机房停电等异常情况下仍
阅读全文
摘要:在关系型数据库比如mysql,会有属于它的数据类型:varchar,text,datatime等等。相应的,在我们nosql数据库也由它所支持,所独有的数据类型 》说白点,是以特殊格式的字符串来表示数据之间的关系并存储 由于到时候不同的表一般是在不同的库,进行关联查询时也意味着要跨库关联,这是一件非
阅读全文
摘要:》演变过程 》数据的获取不单单单单是从mysql等关系型数据库中获取了 》商品的基本信息 》商品的评价,描述等 》商品的图片 》商品的波段性的热点高频信息 》商品的价格计算,积分累计等 》总结大型互联网应用的难点和解决办法
阅读全文
摘要:1.nosql的优点 》易拓展 》大数据量和高性能 》多样灵活的数据类型 》RDBMS(传统关系型数据库)VS NOSQL 2.nosql的实现 》以下三个软件都是对nosql理念的实现 3.nosql的重点知识点 》键值对存储,缓存,持久化 4.3v和3高
阅读全文
摘要:一.互联网背景下为社么使用nosql 》发展史: 1.单机mqsql的美好年代 2.Memcached(缓存)+mysql+垂直拆分 3.mysql主从,读写分离 4.分库分表+水平拆分+mysql集群 分库分表: 》分库:垂直分库和水平分库 1)垂直拆分:根据业务关系将一个数据库实例的数据分解,并
阅读全文
摘要:一.内容功能展示分析 》你会发现在网站的首页上,有很多布局相同,但数据不同的商品列表展示,如: 》像这样的展示,至少需要两张表:分类表(分组表)和内容表(保存组内每个成员不同数据) 二.服务的发布和tomcat的关系 》服务层的工程是不向外界客户端等提供服务,只向表现层的过程提供(表现层向客户端提供
阅读全文