09 2018 档案
摘要:一、缓存式的Web应用程序架构: 在Web层和db层之间加一层cache层,主要目的:减少数据库读取负担,提高数据读取速度。cache存取的媒介是内存,可以考虑采用分布式的cache层,这样更容易破除内存容量的限制,同时增加了灵活性。 二、业务拆分: 电商平台,包含了用户、商品、评价、订单等几大模块
阅读全文
摘要:最佳置换算法(OPT) 每次都淘汰以后不再使用的或以后最迟再被使用的页面。 是最优的算法,但是实际无法实现,只能作为一个标准来衡量其他置换算法的优劣。 缺页7次,命中率为(15-7)/15=53% 先进先出置换算法(FIFO) 每次总是淘汰最先进入内存的页面,也就是淘汰在内存驻留时间最长的页面。 可
阅读全文
摘要:du命令 计算出单个文件或者文件夹的磁盘空间占用 du -am | sort -nr | head -n 10 sort: -n : 按照字符串表示的数字值来排序 -r :按照反序排列 head : -n : 取出前多少行
阅读全文
摘要:Redis的特点: 内存数据库,速度快,也支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave
阅读全文
摘要:final 可以作为修饰符修饰变量、方法和类。 被final修饰的变量必须在初始化时给定初值,以后在使用时只能被引用而不能被修改。 被final修饰的方法不能够在子类中被重写(override); 被final修饰的类不能够被继承。 finally finally用在异常处理中定义总是执行代码,无论
阅读全文
摘要:感觉这篇讲得还阔以: https://cloud.tencent.com/developer/article/1006035
阅读全文
摘要:缓存 作为Key-Value形态的内存数据库,Redis 最先会被想到的应用场景便是作为数据缓存。而使用 Redis 缓存数据非常简单,只需要通过string类型将序列化后的对象存起来即可,不过也有一些需要注意的地方: 必须保证不同对象的 key 不会重复,并且使 key 尽量短,一般使用类名(表名
阅读全文
摘要:相同点:@Resource的作用相当于@Autowired,均可标注在字段或者属性的setter方法上。 不同点:@Autowired是默认按照类型装配的 ,@Resource默认是按照名称装配的 @Autowired默认按类型装配(这个注解是属于spring的),默认情况下必须要求依赖对象必须存在
阅读全文
摘要:可以认为MVCC是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低。 虽然实现机制有所不同,但大都实现了非阻塞的读操作,写操作也只锁定必要的行。 MVCC的实现是通过保存数据在某个时间点的快照来实现的。 MVCC只在读提交和可重复读这两个隔离级别下工作。 保存这两个额外的系统版本号,
阅读全文
摘要:top命令 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在
阅读全文
摘要:先来先服务 first-come first-serverd(FCFS) 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。 当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建
阅读全文
摘要:可能会遇到这样的场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache : hash(object)%N 如
阅读全文
摘要:Redis实现分布式锁 1.根据lockKey区进行setnx(set not exist,如果key值为空,则正常设置,返回1,否则不会进行设置并返回0)操作,如果设置成功,表示已经获得锁,否则并没有获取锁。 2.如果没有获得锁,去Redis上拿到该key对应的值,在该key上我们存储一个时间戳(
阅读全文
摘要:什么是粘包、拆包? TCP是个“流”协议,所谓流,就是没有界限的一串数据。就像流水一样。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的T
阅读全文
摘要:MYISAM与innodb搜索引擎原理 MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。其采用索引文件与数据文件,索引文件只存放索引,叶子节点存放数据的物理地址。数据文件存放数据。其索引方式是非聚集的。 InnoDB也使用B+Tree作为索引结构。但是它的主索
阅读全文