摘要: 一。LRU算法简介 LRU(Least Recently Used)最近最久未使用算法 常见应用场景:内存管理中的页面置换算法、缓存淘汰中的淘汰策略等 二。实现理论 底层结构:双向链表 + HashMap ,双向链表由特定的哈希节点组成。 (1)访问节点时,将其从原来位置删除,插入到双向链表头部; 阅读全文
posted @ 2019-07-15 21:13 埃克斯诶尔 阅读(2485) 评论(0) 推荐(0) 编辑
摘要: 一。新版复制PSYNC命令实现:复制实现总流程 (1)通过客户端向从服务器发送 slaveof <master_ip> <master_port>;此为异步执行,从服务器设置好属性后向客户端返回OK时才真正执行复制 (2)建立套接字连接;(可认为从服务器变成了主服务器的客户端) (3)从服务器发送P 阅读全文
posted @ 2019-07-14 10:34 埃克斯诶尔 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 图片来自《Redis设计与实现》 Redis数据库 redis.server中redisServer.dbnum用于初始化生成多少个数据库,默认16个,Select命令选择数据库 redis.client中redis.db指针指向当前正在使用的数据库 一、过期策略 设置过期时间命令expire如 e 阅读全文
posted @ 2019-06-20 09:29 埃克斯诶尔 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 独立功能的实现 1.发布与订阅 Redis的发布与订阅功能由 publish,subscribe,psubscribe等命令组成 客户端订阅一个或多个频道 > subcribe "news.it" "news.et" //订阅两个频道 客户端向频道发送消息 > publish "news.it" " 阅读全文
posted @ 2019-06-11 15:35 埃克斯诶尔 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。 1.节点 一个节点就是一个运行在集群模式下的Redis服务器。启动Redis服务器时,通过判断cluster-enabled选项,选择是否开启集群模式。(Yes开启集群,No则单机模式普通服务器) 一个Redis集群由多个节 阅读全文
posted @ 2019-05-30 11:30 埃克斯诶尔 阅读(456) 评论(0) 推荐(1) 编辑
摘要: 一. 引言 《Redis设计与实现》一书主要分为四个部分,其中第一个部分主要讲的是Redis的底层数据结构与对象的相关知识。 Redis是一种基于C语言编写的非关系型数据库,它的五种基本对象类型分别为:STRING,LIST,SET,HASH,ZSET。然而,对于每一种基本对象数据类型,底层都至少有 阅读全文
posted @ 2019-05-14 16:56 埃克斯诶尔 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 一。基本概念与方法 1.线程与进程 进程是CPU分配资源的最小单位,由一个或多个线程组成。 线程是CPU进行调度的最小单位,被称为轻量级线程。 一个程序至少一个进程,一个进程至少一个线程 2.Java中线程的三种创建方式 (1)继承Thread类,并重写run()方法 (2)实现Runnable接口 阅读全文
posted @ 2019-04-30 15:00 埃克斯诶尔 阅读(382) 评论(2) 推荐(2) 编辑
摘要: 一。网络模型 OSI七层模型:自上至下依次是 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 应用层:具体的应用协议如HTTP、SMTP、FTP、TELNET、DNS等 表示层:针对数据格式,使应用程序不用关心各个主机中的数据格式 会话层:管理会话,针对通信时机,确定何时建立或断开连接 阅读全文
posted @ 2019-04-19 12:04 埃克斯诶尔 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 一。HTTP报文的组成 请求报文由 请求行、请求头、请求空行、请求实体四部分组成。其中,请求行和请求头共同组成 请求报文头部 请求行:一行,依次由 请求方法、URI(或者应该说是域名?)、HTTP协议版本 三部分组成 请求头:由 通用首部字段、请求首部字段、实体首部字段 三部分组成 空行 请求实体( 阅读全文
posted @ 2019-03-26 15:45 埃克斯诶尔 阅读(128) 评论(0) 推荐(0) 编辑
摘要: Java中提倡的自动内存管理最终可以归结为自动化的解决两个问题: 先说说回收这一方面的两个主要知识点 一。垃圾收集算法 1.标记-清理算法 首先标记出所有需要回收的对象,然后在标记完成后统一回收所有被标记的对象(适用老年代) 两个缺陷:(1)效率问题,标记和清除两个过程效率都不高 (2)空间问题,标 阅读全文
posted @ 2019-03-21 20:08 埃克斯诶尔 阅读(254) 评论(0) 推荐(0) 编辑