<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[didui0897的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/didui0897</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; didui0897]]></copyright><item><title><![CDATA[工厂模式]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220056</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220056</guid><author>didui0897</author><pubDate>Fri, 27 Sep 2019 09:03:00 +0800</pubDate><description><![CDATA[1.什么时候使用工厂模式：
核心:工厂模式的核心思想就是实例化对象.
说明:某个写对象可能需要特定的参数,可能是抽象类,也可能是接口等等.不能直接实例化的,需要采用工厂模式.
2.静态工厂
核心:通过类名.静态方法的方式创建对象
（1）工厂代码：

public class StaticFactory {
    
    //静态工厂必须有静态方法
    publ...]]></description><category></category></item><item><title><![CDATA[redis集群]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220057</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220057</guid><author>didui0897</author><pubDate>Thu, 26 Sep 2019 21:41:00 +0800</pubDate><description><![CDATA[1.redis集群搭建
　　redis分片和哨兵存在的问题
优点:

分片实现内存数据的动态扩容
分片可以分散的保存数据
哨兵可以实现redis高可用

缺点:

分片中如果有一个节点宕机,则整个分片将不能正常使用
哨兵本身没有实现高可用,如果哨兵宕机,则可能导致整合redis服务宕机.

1.1 redis集群内部通讯原理
搭建原则:一般主节点一般都大于等...]]></description><category></category></item><item><title><![CDATA[redis主从配置和哨兵]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220054</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220054</guid><author>didui0897</author><pubDate>Wed, 25 Sep 2019 23:19:00 +0800</pubDate><description><![CDATA[1.redis主从配置
如果redis需要实现高可用.前提条件就是实现数据的同步
（1）拷贝配置shards文件夹 改名为sentinel



（2）主从搭建策略
6379主机.
　　6380从机
　　6381从机
（3）状态信息检查

info replication





（4）主从挂载




（5）检查主从挂载...]]></description><category></category></item><item><title><![CDATA[redis分片技术]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220055</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220055</guid><author>didui0897</author><pubDate>Wed, 25 Sep 2019 23:12:00 +0800</pubDate><description><![CDATA[1.也无需求

如果需要动态的扩展内存,单个redis节点上有上限(10M默认-512M-1GB)
如果将数据保存到一个redis节点中,可能会出现丢数据的风险.所以尽可能分开保存.

2.分片机制介绍
特点:

多台redis节点将内存扩大N倍
多台redis共同唯一所有的数据.每个节点中所保存的数据都不一样的.




3.redis分片配置步骤
　...]]></description><category></category></item><item><title><![CDATA[redis中存储策略]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220052</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220052</guid><author>didui0897</author><pubDate>Wed, 25 Sep 2019 23:03:00 +0800</pubDate><description><![CDATA[1.需求描述
　　Redis中的数据都保存在内存中.如果内存中一直添加数据,则可能会造成内存填满,内存溢出的现象.需要控制redis的内存大小.

2.LRU算法
  内存管理的一种页面置换算法，对于在内存中但又不用的数据块（内存块）叫做LRU，操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。

3.内存策略介绍

volatile-...]]></description><category></category></item><item><title><![CDATA[redis中持久化策略]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220053</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220053</guid><author>didui0897</author><pubDate>Wed, 25 Sep 2019 22:59:00 +0800</pubDate><description><![CDATA[1.redis持久化规则
　　说明:根据redis的配置文件中所配置的持久化策略,定期持久化.将redis内存中的数据最终写入到持久化文件中.当redis意外关闭内存数据清空了.当redis重新启动时,根据配置文件中持久化文件的路径/名称,读取持久化文件。从持久化文件中恢复内存数据.

2.RDB模式
说明:

RDB模式是redis中默认的持久化策略.该模式能够定期(有时...]]></description><category></category></item><item><title><![CDATA[redis入门案例]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220051</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220051</guid><author>didui0897</author><pubDate>Wed, 25 Sep 2019 22:52:00 +0800</pubDate><description><![CDATA[1.引入jar包

&lt;!-- jedis --&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;redis.clients&lt;/groupId&gt;
            &lt;artifactId&gt;jedis&lt;/artifactId&gt;
            &lt;ver...]]></description><category></category></item><item><title><![CDATA[redis数据操作命令]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220050</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220050</guid><author>didui0897</author><pubDate>Wed, 25 Sep 2019 22:40:00 +0800</pubDate><description><![CDATA[1.String类型





命令


说明


案例




set


添加key-value


set username admin




get


根据key获取数据


get username




strlen


获取key的长度


strlen key



...]]></description><category></category></item><item><title><![CDATA[redis]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220049</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220049</guid><author>didui0897</author><pubDate>Wed, 25 Sep 2019 22:37:00 +0800</pubDate><description><![CDATA[1.redis介绍
　　redis是一个key-value存储系统。和Memcached类似，它支持存储的value类型相对更多，包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash（哈希类型）。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作，而且这些操作都是原子性的。在此基础上...]]></description><category></category></item><item><title><![CDATA[mycat分库分表]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220046</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220046</guid><author>didui0897</author><pubDate>Tue, 24 Sep 2019 20:49:00 +0800</pubDate><description><![CDATA[mycat分库分表是mycat最主要的功能

1.server.xml配置

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!-- - - Licensed under the Apache License, Version 2.0 (the "License"); 
    - you may not use this ...]]></description><category></category></item><item><title><![CDATA[实操中如何优化数据库]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220048</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220048</guid><author>didui0897</author><pubDate>Tue, 24 Sep 2019 18:11:00 +0800</pubDate><description><![CDATA[优化sql语句.


原则:
A:能用单表不用关联查询. 正常的数据库设计需要满足三范式要求
为了实现业务模块查询效率高,一般在企业中使用反三范式的设计.
 B:使用关联时尽可能提早确定数据. 否则会进行大量的笛卡尔积操作.直接影响程序执行性能
 C:尽可能根据主键查询.

    SELECT t.id,t.title,d.item_desc FRO...]]></description><category></category></item><item><title><![CDATA[mycat 读写分离、负载均衡、高可用]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220047</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220047</guid><author>didui0897</author><pubDate>Tue, 24 Sep 2019 16:22:00 +0800</pubDate><description><![CDATA[1.配置mycat
1.1配置server.xml
说明:该文件主要定义用户.同时定义当前用户可以访问哪些数据库.

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!-- - - Licensed under the Apache License, Version 2.0 (the "License"); 
    - yo...]]></description><category></category></item><item><title><![CDATA[amoeba 读写分离、负载均衡]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220045</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220045</guid><author>didui0897</author><pubDate>Tue, 24 Sep 2019 13:49:00 +0800</pubDate><description><![CDATA[1、amoeba配置文件
1.1 dbservers.xml

&lt;?xml version="1.0" encoding="gbk"?&gt;

&lt;!DOCTYPE amoeba:dbServers SYSTEM "dbserver.dtd"&gt;
&lt;amoeba:dbServers xmlns:amoeba="http://amoeba.meidusa....]]></description><category></category></item><item><title><![CDATA[mysql主从挂载]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220044</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220044</guid><author>didui0897</author><pubDate>Tue, 24 Sep 2019 12:42:00 +0800</pubDate><description><![CDATA[1.修改my.cnf文件

vim /etc/my.cnf

1.1主库

#当前mysql服务号为1，为第一台mysql服务器
server-id=1
#二进制日志文件
log-bin=mysql-bin

1.2从库

#当前mysql服务号为1，为第一台mysql服务器
server-id=2
#二进制日志文件
log-bin=mysql-bin
...]]></description><category></category></item><item><title><![CDATA[easyUI初始化toolbar按钮以及获得选中行ID]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220043</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220043</guid><author>didui0897</author><pubDate>Thu, 19 Sep 2019 09:08:00 +0800</pubDate><description><![CDATA[&lt;script&gt;

    function getSelectionsIds(){
        var itemList = $("#itemList");
        //itemList.datagrid("getSelected");选中一行
        //选中多行
        var sels = itemList.datag...]]></description><category></category></item><item><title><![CDATA[后台返回前台为字符串乱码问题]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220042</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220042</guid><author>didui0897</author><pubDate>Wed, 18 Sep 2019 14:12:00 +0800</pubDate><description><![CDATA[/**
     * 根据商品分类的Id查询名称
     * @ResponseBody进行数据解析时,如果解析的是对象(pojo/vo/List/Map..)
     * 默认格式都采用utf-8格式解析.
     * 如果解析的数据是String类型,则按照iso-8859-1格式进行解析.
     * public class StringHttpMe...]]></description><category></category></item><item><title><![CDATA[Mapper映射文件中的#和$的问题]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220041</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220041</guid><author>didui0897</author><pubDate>Wed, 18 Sep 2019 13:21:00 +0800</pubDate><description><![CDATA[关于#号和$的区别
        
        select * from user where username = "?" and password = ?"
        
        #号:
            1.使用#号传参有预编译的效果.  防止sql注入攻击
            2.为参数添加一对""号
    ...]]></description><category></category></item><item><title><![CDATA[Mybatis的Mapper接口传值问题]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220040</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220040</guid><author>didui0897</author><pubDate>Wed, 18 Sep 2019 13:16:00 +0800</pubDate><description><![CDATA[Mybatis的Mapper接口不允许多值传输
思路：
　　将多值封装为单值
　　1.将值封装到对象中pojo
　　2.将值封装为集合 数组 array/List集合/Map集合
　　3.参数添加@Param这个注解，实际上为将参数封装为map集合

转载于:https://www.cnblogs.com/gxlaqj/p/11541514.html...]]></description><category></category></item><item><title><![CDATA[easyUI]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102220039</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102220039</guid><author>didui0897</author><pubDate>Wed, 18 Sep 2019 10:27:00 +0800</pubDate><description><![CDATA[获取所有树叶子节点 注册添加事件 if ($(node).tree('isLeaf', node.target)) 是否叶子节点



//获取所有树叶子节点 注册添加事件 if ($('#menu').tree('isLeaf', node.target)) 是否叶子节点
$(function(){	　　$('#menu').tree({		　　　　onClick: ...]]></description><category></category></item><item><title><![CDATA[后端接收前端参数问题以及RestFul结构]]></title><link>https://blog.youkuaiyun.com/didui0897/article/details/102219855</link><guid>https://blog.youkuaiyun.com/didui0897/article/details/102219855</guid><author>didui0897</author><pubDate>Wed, 18 Sep 2019 10:01:00 +0800</pubDate><description><![CDATA[RestFul结构格式特点：


　　1.在url中将需要提交的参数使用“/”进行分割　　　　localhost:8091/addUser/1/tom　　2.在接收端，将参数使用{}包裹并且参数的位置固定　　3.变量的名称必须和{}中的名称一致，之后通过@PathVariable注解实现数据的传递功能：　　1.实现了通用页面的跳转问题　　2.减少了代码传递的字节数get请求...]]></description><category></category></item></channel></rss>