- 博客(12)
- 资源 (54)
- 收藏
- 关注
转载 redis原理总结(很全面)
redis单点吞吐量单点TPS达到8万/秒,QPS达到10万/秒。redis的5中存储类型string、list、set、map(hash)、stored-setredis的string类型能表达3中类型:字符串、整数和浮点数。根据场景相互间自动转型,并且根据需要选取底层的承载方式 value内部以int、sds作为结构存储。int存放整型数据,sds存放字节/字符串和浮点型...
2018-08-28 17:48:07 25208 2
转载 JAVA中的COPYONWRITE容器
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。...
2018-08-28 17:41:28 121
转载 MySQL中MyISAM与InnoDB区别及选择
InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和索引存放在表空间里面跨平台可直接拷贝使用InnoDB中必须包含AUTO_INCREMENT类型字段的索引表格很难被压缩MyISAM:不支持事务,回滚将造成不完全回滚,不具有原子性不支持外...
2018-08-28 17:37:57 342
转载 Redis主从同步原理-SYNC
和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,下图为级联结构。 Redis主从复制可以根据是否是全量分为全量同步和增量同步。1 全量同步 Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复...
2018-08-28 15:37:33 237
转载 解读I/O多路复用技术
前言当我们要编写一个echo服务器程序的时候,需要对用户从标准输入键入的交互命令做出响应。在这种情况下,服务器必须响应两个相互独立的I/O事件:1)网络客户端发起网络连接请求,2)用户在键盘上键入命令行。我们先等待哪个事件呢?没有哪个选择是理想的。如果在acceptor中等待一个连接请求,我们就不能响应输入的命令。类似地,如果在read中等待一个输入命令,我们就不能响应任何连接请求。针对这种困...
2018-08-28 14:12:11 264
转载 I/O模型与多路复用
同步、异步、阻塞、非阻塞同步 & 异步同步与异步是针对多个事件(线程/进程)来说的。如果事件A需要等待事件B的完成才能完成,这种串行执行机制可以说是同步的,这是一种可靠的任务序列,要么都成功,要么都失败。 如果事件B的执行不需要依赖事件A的完成结果,这种并行的执行机制可以说是异步的。事件B不确定事件A是否真正完成,所以是不可靠的任务序列。同步异步可以理解为多个事件的执行方式...
2018-08-28 14:04:08 3761
转载 Redis面试题(一): Redis到底是多线程还是单线程?
0. redis单线程问题 单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用了多个线程。 1. 为什么说redis能够快速执行(1) 绝大部分请求是纯粹的内存操作(非常快速)(2) 采用单线程,避免了不必要的上下文切换和竞争条件(3) 非阻塞IO - IO多路复用 ...
2018-08-28 13:54:03 2932
转载 IO模型之IO多路复用 异步IO select poll epoll 的用法
IO 模型之 多路复用 IO多路复用IOIO multiplexing 这个词可能有点陌生,但是如果我说 select/epoll ,大概就都能明白了。有些地方也称这种IO方式为 事件驱动IO (event driven IO) 。我们都知道,select/epoll的好处就在于单个process就可以同时处理多个网络连接的IO。它的基本原理就是select/epoll这个functi...
2018-08-28 13:45:15 151
转载 Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pr...
2018-08-28 12:49:52 100
转载 MySQL死锁分析及解决的方法--例子
http://soft.chinabyte.com/database/385/12532885.shtml5、死锁举例分析 在MySQL中,行级锁并不是直接锁记录,而是锁索引。索引分为主键索引和非主键索引两种,如果一条sql语句操作了主键索引,MySQL就会锁定这条主键索引;如果一条语句操作了非主键索引,MySQL会先锁定该非主键索引,再锁定相关的主键索引。 在UPDATE、DEL...
2018-08-20 17:33:56 315
转载 MySQL 加锁处理分析
背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险?甚至是分...
2018-08-20 15:52:39 92
转载 redis缓存和mysql数据库同步
解决方案一、对强一致要求比较高的,应采用实时同步方案,即查询缓存查询不到再从DB查询,保存到缓存;更新缓存时,先更新数据库,再将缓存的设置过期(建议不要去更新缓存内容,直接设置缓存过期)。二、对于并发程度较高的,可采用异步队列的方式同步,可采用kafka等消息中间件处理消息生产和消费。三、使用阿里的同步工具canal,canal实现方式是模拟mysql slave和master的同步机...
2018-08-16 11:18:44 211
微信 java weixin-java-tools-springmvc-master
2017-12-22
Postman-win64 安装版
2018-12-16
彩色UML建模_机械工业出版社_[美]Peter Coad,Eric Lefebvre,Jeff De Luca著 中文完整版
2017-12-22
实现领域驱动设计 中文完整版 大小108M
2017-12-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人