摘要: 一、装饰模式: 装饰模式比继承要灵活。避免了继承体系臃肿。 而且降低了类于类之间的关系。 装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更强功能。 所以装饰类和被装饰类通常是都属于一个体系中的。 二、代码实现: 1)接口: 2)需要加强的类: 3)装饰类 4)加强功能1: 5)加强 阅读全文
posted @ 2019-08-01 23:54 开拖拉机的拉风少年 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 一、单例模式: 1)使用:一个类在内存只存在一个对象; 2)三个条件: (1)构造私有化; (2)提供一个唯一的静态的私有的当前类成员对象; (3)提供一个静态的公有的访问方法; 二、使用示例: (1)饿汉式 (2)懒汉 升级: 阅读全文
posted @ 2019-08-01 23:43 开拖拉机的拉风少年 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 一、概念:一组要么同时执行成功,要么同时执行失败的SQL语句。是数据库操作的一个执行单元。 二、事务的ACID: 1.原子性(Atomicity):所有操作要么全部成功,要么全部失败回滚; 2.一致性(Consistency);只要一个操作失败,所有的更改过的数据都必须回滚到修改前状态; 3.隔离性 阅读全文
posted @ 2019-08-01 23:33 开拖拉机的拉风少年 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 一、最大连接数: 1、查看当前数据库的最大连接数:SHOW VARIABLES LIKE '%max_connections%'; 2、设置数据库的最大连接数: 1)在当前会话中设,数据库重启之后失效: SET GLOBAL max_connections = 1000; 2)在数据库的配置文件my 阅读全文
posted @ 2019-08-01 23:29 开拖拉机的拉风少年 阅读(699) 评论(0) 推荐(0) 编辑
摘要: 1.作用:快速找出在某一列中特定的值,用于提高查询效率; 2.优势:提高检索效率,降低数据库IO成本;降低数据库排序成本,降低cpu消耗; 3.劣势:占用空间;降低表的更新的速度; 4.索引分类: (1)单值索引:即一个索引只包含单个列,一个表可以有多个单列索引; (2)唯一索引:索引的值必须唯一, 阅读全文
posted @ 2019-08-01 23:27 开拖拉机的拉风少年 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 1.delimiter:修改语句结尾符号; //例:delimiter $ 为把;改为$ 2.存储过程调用: call 名称(); 3.存储过程示例: 4.存储过程操作: (1)查看所有存储过程:show procedure status; (2)查看指定数据库中的存储过程:show procedu 阅读全文
posted @ 2019-08-01 23:24 开拖拉机的拉风少年 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 一、权限分类: (1)create:创建数据库、表或者索引; (2)drop:移除数据库或表; (3)alter:更改表,比如添加字段,索引等; (4)delete:删除数据权限; (5)index:索引; (6)insert:插入; (7)select:查询; (8)update:更新; (9)c 阅读全文
posted @ 2019-08-01 22:30 开拖拉机的拉风少年 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 一、函数分类: 1.字符串函数; 2.数值函数; 3.日期和时间函数; 4.流程函数; 5.其它函数; 二、常用函数: 1.字符串函数: (1)concat(s1,s2,,,sn);//连接所有传入的参数;任何字符串和null连接都为null; (2)insert(str,x,y,instr);// 阅读全文
posted @ 2019-08-01 22:29 开拖拉机的拉风少年 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 一、内存管理: 命令 作用 expire key seconds 设置超时时间戳,单位为秒 ttl key 查看超时时间,-1表示没有超时时间,-2表示已经超时 persist key 持久化key,取消超时时间 1、redis-cli: 2、spring操作: 二、内存回收策略: 1、超时后不会自 阅读全文
posted @ 2019-08-01 22:06 开拖拉机的拉风少年 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 一、消息队列: 1、订阅渠道:subscribe channel1 2、推送信息:publish channel1 “hello motor” 二、springdata: 1)编写监听器: 2)配置: 3)测试: 阅读全文
posted @ 2019-08-01 21:33 开拖拉机的拉风少年 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 一、流水线: redis的读写速度十分快,所以系统的瓶颈往往是在网络通信中的延迟。 redis可能会在很多时候处于空闲状态而等待命令的到达。 为了解决这个问题,可以使用redis的流水线,流水线是一种通讯协议,类似一个队列批量执行一组命令。 二、流水线使用/对比: 1、未使用流水线处理10000次请 阅读全文
posted @ 2019-08-01 21:01 开拖拉机的拉风少年 阅读(1660) 评论(0) 推荐(0) 编辑
摘要: 一、Redis事务在redis-cli中使用: 1)开启事务:multi 2)提交事务:exec 3)取消事务:discard 4)示例: 5)注意:redis事务中,如果指令的格式正确,数据类型不正确,报错后不会回滚; 6)redis中的锁: 1、悲观锁; 2、乐观锁:操作时候别人也可以操作,但是 阅读全文
posted @ 2019-08-01 20:50 开拖拉机的拉风少年 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 一、配置序列化: //springdata中的RedisTemplate模板操作redis数据,默认会使用JdkSerializationRedisSerializer序列话,会导致服务器中实际的键值和设置时不一致,难以获取; 实际使用: Key,采用字符串序列化器 Value,采用JDK序列化器, 阅读全文
posted @ 2019-08-01 19:08 开拖拉机的拉风少年 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 一、基于Docker安装/不带配置文件: 1)拉取镜像:docker pull redis; 2)运行:docker run -it -p 6379:6379 redis bash 3)使用: 1.默认进入目录是:/data 2.需要进入到:/usr/local/bin 3.启动:./redis-c 阅读全文
posted @ 2019-08-01 18:57 开拖拉机的拉风少年 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 一、概念: Redis是一种基于键值对的NoSQL数据库,与很多键值对数据库不同的是,Redis中的值可以是String(字符串),hash(哈希),List(列表),set(集合),zset(有序集合)等多种数据结构; 二、特点: 1)高性能: Redis将所有数据都存储在内存中,所以它的读写性能 阅读全文
posted @ 2019-08-01 17:51 开拖拉机的拉风少年 阅读(195) 评论(0) 推荐(0) 编辑