摘要: 根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类: ①创建型模式(Creational 阅读全文
posted @ 2020-07-14 22:59 hypo106 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 什么是HTTP? HTTP,即超文本传输协议,是一种实现客户端和服务器之间通信的响应协议,它是用作客户端和服务器之间的请求。 客户端(浏览器)会向服务器提交HTTP请求;然后服务器向客户端返回响应;其中响应包含有关请求的状态信息,还可能包含请求的内容。 HTTP的常用方法 1、GET方法 GET方法 阅读全文
posted @ 2020-07-14 22:29 hypo106 阅读(2394) 评论(0) 推荐(1) 编辑
摘要: Redis的过期策略和内存淘汰机制 过期策略: 我们set key的时候,都可以给一个expire time,就是过期时间,指定这个key比如说只能存活1个小时,我们自己可以指定缓存到期就失效。 如果假设你设置一个一批key只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的 阅读全文
posted @ 2020-07-14 15:39 hypo106 阅读(830) 评论(0) 推荐(0) 编辑
摘要: 索引原理 索引的优缺点 优点 索引大大减小了服务器需要扫描的数据量 索引可以帮助服务器避免排序和临时表 索引可以将随机IO变成顺序IO 索引对于InnoDB(对索引支持行级锁)非常重要,因为它可以让查询锁更少的元组。在MySQL5.1和更新的版本中,InnoDB可以在服务器端过滤掉行后就释放锁,但在 阅读全文
posted @ 2020-07-10 14:41 hypo106 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 锁是计算机协调多个进程或线程并发访问某一资源的机制。锁保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素。锁是Mysql在服务器层和存储引擎层的的并发控制。 加锁是消耗资源的,锁的各种操作,包括获得锁、检测锁是否是否已解除、释放锁等。 锁机制 共享锁与排他锁 共享锁(读 阅读全文
posted @ 2020-07-09 23:50 hypo106 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 目录 一、事务特性 1.原子性 2.一致性 3.隔离性 4.持久性 二、并发问题 1.更新丢失 2.脏读 3.不可重复读 4.幻读 三、隔离级别 1.未提交读(read-uncommitted) 2.已提交读(read-committed) 3.可重复读(repetable-read) 4.可串行化 阅读全文
posted @ 2020-07-09 23:44 hypo106 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负 阅读全文
posted @ 2020-07-08 23:42 hypo106 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。 1.当客户端连接到MySQL服务器时,服务器对其进行认证。可以通过用户名与密码认证,也可以通过SSL证书进行认证。登录认证后,服务器还会验证 阅读全文
posted @ 2020-07-07 22:08 hypo106 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 官方原文档: https://redis.io/topics/data-types https://redis.io/topics/data-types-intro Redis支持的数据类型: String、List、Set、Sorted Set、Hashes、Bit array、HyperLogL 阅读全文
posted @ 2020-07-06 23:01 hypo106 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 高性能,指的是查询快 redis是c语言实现,与其他语言相比,在实现语言层面性能高;redis是内存数据库,而传统的关系型数据库是磁盘文件读写,所以redis读写快;单线程,无上下文切换损耗,也不需要线程间同步,在单核cpu上,性能高,如果服务器是多核cpu,可以开启多个进程的单线程redis实例; 阅读全文
posted @ 2020-07-05 15:32 hypo106 阅读(1316) 评论(0) 推荐(0) 编辑