01 2021 档案

摘要:[Redis]数据库空间模型 数据结构数据存储数据查找数据过期惰性删除定期删除 总结参考 在关系型数据库如MySQL,数据库数据是按照行记录格式进行存储的。同理,我们常说Redis是一个 键值对(Key-Value)构成的内存数据库,具体是以什么形式进行存储的,下面通过源码一看究竟。 数据结构 在r 阅读全文
posted @ 2021-01-30 23:39 大摩羯先生 阅读(34) 评论(0) 推荐(0) 编辑
摘要:[Redis]事件驱动模型 源码剖析main()主方法入口aeEventLoop事件处理封装类aeCreateEventLoop()事件初始化aeMain() 主循环函数aeProcessEvents()事件处理函数aeApiPoll()事件获取函数epoll实现select实现对比 事件驱动模型参 阅读全文
posted @ 2021-01-29 19:11 大摩羯先生 阅读(39) 评论(0) 推荐(0) 编辑
摘要:[Redis]持久化机制 RDB触发方式执行流程RDB文件格式对象文件编码字符串对象列表对象集合对象哈希对象有序集合对象 文件压缩优缺点 AOF执行频率执行流程重写压缩触发机制 优缺点 重启加载总结参考 Redis支持 RDB和 AOF两种持久化机制。通过 info persistence查看持久化 阅读全文
posted @ 2021-01-28 17:03 大摩羯先生 阅读(16) 评论(0) 推荐(0) 编辑
摘要:[Redis]内存管理机制 简介内存消耗内存查看内存碎片内存构成内存碎片产生原因内存碎片规避方式 子进程内存消耗 内存管理内存上限内存回收内存回收策略内存回收源码 内存优化redisObject对象键值空间压缩共享对象池字符串优化编码优化 参考 基于Redis-3.2.1 简介 Redis是一个基于 阅读全文
posted @ 2021-01-27 19:31 大摩羯先生 阅读(42) 评论(0) 推荐(0) 编辑
摘要:[Redis]数据结构与对象 1. 简单动态字符串简介数据结构特点SDS兼容一部分C语言函数SDS属性len的作用SDS减少了字符串变更时内存空间重分配预占空间惰性释放 SDS保证文本二进制安全 2. 链表简介数据结构特点使用场景 3. 字典简介数据结构底层原理哈希值计算哈希碰撞rehash扩容前开 阅读全文
posted @ 2021-01-27 13:24 大摩羯先生 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1. 本地消息事务表 + MQ回调线程补偿 ①prepare 准备阶段。本地客户端向DB、MQ发送prepare请求② ack 准备确认阶段。DB、MQ作为事务参与者返回本地客户端ack确认③commit/rollback 提交/回滚阶段。 根据事务参与者在准备确认阶段返回结果进行事务提交或回滚,此 阅读全文
posted @ 2021-01-25 15:00 大摩羯先生 阅读(32) 评论(0) 推荐(0) 编辑
摘要:目录 1. IO和NIO1.1 阻塞 vs 非阻塞1.2 面向流 vs 面向缓冲 2. 知识准备2.1 缓冲区操作2.2 内核空间与用户空间2.2.1 设计初衷2.2.2 空间态切换 2.3 虚拟内存2.4 分页技术2.5 内存映射文件 3. java.nio组成3.1 Buffer3.2 Chan 阅读全文
posted @ 2021-01-22 16:41 大摩羯先生 阅读(18) 评论(0) 推荐(0) 编辑
摘要:mmap内存映射原理 1. mmap介绍2. Linux内存管理介绍结构体定义进程结构体(task_struct)内存结构体(mm_struct)虚拟内存区域结构体(vm_area_struct) 页表管理 3. mmap内存映射剖析内存&文件映射结构内存&文件映射过程 4. mmap函数语法功能参 阅读全文
posted @ 2021-01-18 20:13 大摩羯先生 阅读(119) 评论(0) 推荐(0) 编辑
摘要:ByteBuffer总结 1. 组成1.1 类关系1.2 Buffer1.2.1 属性1.2.2 API读取(get)填充(put)翻转(flip & rewind)释放(clear) 1.2.3 创建方式 1.2 HeapByteBuffer1.3 HeapByteBufferR1.4 Direc 阅读全文
posted @ 2021-01-18 14:55 大摩羯先生 阅读(66) 评论(0) 推荐(0) 编辑
摘要:<insert id="insert" parameterClass="AddReq"> INSERT INTO TABLE ( A,B,C ) VALUES( #A#,#B#,#C# ) <!-- 主键冲突更新逻辑 --> on duplicate key update <!-- 将ID赋值,当出 阅读全文
posted @ 2021-01-15 18:13 大摩羯先生 阅读(143) 评论(0) 推荐(0) 编辑
摘要:1. 网络分层模型 因特网协议栈共有五层:应用层、传输层、网络层、链路层、物理层。不同于OSI七层模型这也是实际使用中使用的分层方式。 应用层 支持网络应用,应用协议仅仅是网络应用的一个组成部分,运行在不同主机上的进程则使用应用层协议进行通信。主要的协议有:http、ftp、telnet、smtp、 阅读全文
posted @ 2021-01-14 13:55 大摩羯先生 阅读(185) 评论(0) 推荐(0) 编辑
摘要:目录 1. 分类1.1 按数据流的方向分为输入流、输出流1.2 按处理数据单位不同分为字节流、字符流1.3 按功能不同分为介质流、装饰流、功能流 2. 字节流与字符流2.1 使用场景2.2 转换 3. java.io包结构3.1 File3.2 InputStream3.2.1 ByteArrayI 阅读全文
posted @ 2021-01-07 14:49 大摩羯先生 阅读(31) 评论(0) 推荐(0) 编辑
摘要:1. 编码含义 编码:给每一个对象标记一个二进制位串来表示一组对象。例:ASCII,指令系统。 2. 编码分类 等长编码:表示一组对象的二进制位串的长度相等不等长编码:表示一组对象的二进制位串的长度不相等 3. 编码问题 等长编码什么情况下空间效率高? 等长编码越短,占据空间越小不等长编码什么情况下 阅读全文
posted @ 2021-01-05 10:53 大摩羯先生 阅读(343) 评论(0) 推荐(0) 编辑
摘要:优化前 //返回对象 Object result = null; //分布式锁 String cacheLock = CacheUtil.genLockKey(cacheKey); if (lock.lock(cacheLock, 5000, TimeUnit.MILLISECONDS)) { tr 阅读全文
posted @ 2021-01-04 19:14 大摩羯先生 阅读(19) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示