摘要:
@Aspect @Component public class RateLimiterAop { // 创建map,key是URL,value是令牌,同一个请求就覆盖上一个值 private static ConcurrentHashMap rateLimiterMap = new ConcurrentHashMap(); //切入点,拦截com.lzh.demo包下的所有的... 阅读全文
摘要:
Redis搭建集群 首先安装一个纯净的redis(安装的方法在我前面的随笔中讲到了) 然后做下面的步骤, 创建一个放集群的文件夹 mkdir /usr/local/redis-cluster 进入 cd redis-cluster/ 创建6个节点 mkdir -p 9001/data 9002/da 阅读全文
摘要:
redis的aof存储 首先做下面的操作,然后开启redis的时候会生成一个appendonly.aof的文件 aof是实时以日志的形式记录的 Redis事务 使用multi开启事务,然后添加值,此时是不能通过get得到的 通过exec提交就可以得到 阅读全文
摘要:
当开启redis的时候写入一个值,但此时宕机,然后又再次开启,此时却还是可以获取之前设置的值,因为redis默认开启了rdb 此时储存值“lzh” 宕机 再次连接,还是取得到 但是这个保存的模式有一缺点就是必须达到一定值的时候才会存储,比如900秒内保存一个值就存储。现在将其改为30秒内存5个,只要 阅读全文
摘要:
redis的安装 1.linux中redis的安装 cd /usr/local 然后倒入redis压缩包 tar -zxvf redis-3.0.0.tar.gz cd redis-3.0.0 make cd src make install cd /usr/local mkdir -p /usr/ 阅读全文
摘要:
IO同步阻塞与同步非阻塞(IO为同步阻塞形式,NIO为同步非阻塞形式,NIO并没有实现异步,在JDK1.7后升级NIO库包,支持异步非阻塞(AIO),阻塞IO和非阻塞IO都是在网络编程的时候产生的,本地是没有这两个概念的) IO(BIO)和NIO区别: 其本质就是阻塞和非阻塞的区别。 BIO:同步阻 阅读全文
摘要:
分散读取与聚集写入 分散读取(scattering Reads):将通道中的数据分散到多个缓冲区中 聚集写入(gathering Writes):将多个缓冲区的数据聚集到通道中 阅读全文
摘要:
通道(Channel)的原理 Channel表示IO源与目标打开的连接,由java.nio.channels包定义的。Channel 类似于传统的“流”。但是Channel 本身并不能直接访问数据,只负责传输, Buffer 负责存储。Channel与Buffer进行交互。 java.nio.cha 阅读全文
摘要:
NIO描述 什么是NIO? NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。 传统的IO包提供的是同步阻塞IO,而Java NIO可以让你非阻塞的使用IO,例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数 阅读全文
摘要:
网络模型图 什么是Socket? Socket就是为网络服务提供的一种机制 通讯的两端都有Socket 网络通讯其实就是Socket间的通讯 数据在两个Socket间通过IO传输 任何计算机语言通讯底层都是Socket技术,遵循一个规范:二进制+ip+端口号 Socket是可以跨语言传输的 Sock 阅读全文