Redis设计与实现(一~五整合版) by @飘过的小牛 一 前言 项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串.但是一直听说redis是一个很牛的开源项目,很多公司都在用.于是我就比较奇怪,这玩意不就和 memcache 差不多吗?仅仅是因为memcache是内存级别的,没有持久化功能.而redis支持持久化?难道这就是它的必杀技? 带着这个疑问,我在网上搜了一圈.发现有个叫做huangz的程序员针对redis写了一本书叫做<redis设…
多机数据库的实现 一.复制 slaveof  主服务器ip地址.形成主从关系. 1.同步  从向主服务器发送sync命令.  主服务器收到sync命令执行bgsave,生成rdb文件,缓冲区同时记录从现在开始执行的所有命令.  主服务器执行完毕bgsave命令,会将rdb文件发送给从服务器,从服务器接收并载入这个rdb文件,同步给主服务器状态  主服务器发送缓冲区的命令给从服务器,从服务器执行当前命令,保持数据最终一致. 2.命令传播 第一步同步,类似于初始化. 后续还需要,主从服务器实时同步.…
Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!) [美]]Peter Morville(彼得·莫维尔)  Louis Rosenfeld(路易斯·罗森菲尔德)  著 陈建勋译 ISBN 978-7-121-21533-9 2013年10月出版 定价:99.00元 540页 16开 编辑推荐 在由Wiki.Folksonomy及Mashup所构成的后Ajax化的Web 2.0世界中,精心设计的信息架构显得格外重要.你该如何向众人展现大量的信息,从而使他们能迅…
本文里的面经内容全部来源于牛客网,作为秋招备战复习与查缺补漏时使用.里面部分面经有我的注释和想法,以及部分解答,不一定正确,大家可以查询补充. 阿里巴巴,三面,java实习 昨天晚上11点打电话来,问我可以面试不,我说不可以,然后就约到了今天, 1.上来问我项目用的框架,然后问我springmvc里面有的参数的设定,问的是细节,然后问我如果传的多个值是一个对象的属性,问我如何处理,我说直接在后端接收为对象就行了,然后突然问我http怎么传对象,这里有点不明白面试官想问啥,然后就换别的问题了, 可…
Redis-对象 在以前的文章中,我们介绍了 Redis 用到的主要数据结构,比如简单动态字符串.双端链表.字典.压缩列表.整数集合. 然而 Redis 并没有直接使用这些数据结构来实现键值对的数据库,而是在这些数据结构之上又包装了一层 RedisObject(对象),RedisObject 有五种对象:字符串对象.列表对象.哈希对象.集合对象和有序集合对象. 还是跟以前一样,看几个问题: 使用 RedisObject 对象而不是直接使用双端队列.双端链表等数据结构,有什么好处呢? RedisO…
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发于我的个人博客: www.how2playlife.com 本文是微信公众号[Java技术江湖]的<探索Redis设计与实现>其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透彻,也整合了很多我认为不错的技术博客内容,引用其中了一些比较好的博客文章,如有…
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发于我的个人博客: www.how2playlife.com 本文是微信公众号[Java技术江湖]的<探索Redis设计与实现>其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透彻,也整合了很多我认为不错的技术博客内容,引用其中了一些比较好的博客文章,如有…
学完MySQL InnoDB之后,又开始学习和研究Redis. 首先介绍下书:<Redis设计与实现>第二版 黄健宏著,机械工业出版社,388页,基于redis3.0版本.版本有点低,这个影响不大,基本面变化不大,而变化的部分网上查资料可以弥补. 一.概述 Redis服务器是一个键值对(key-value pair)类型数据库服务器,属于NoSQL.Redis源码使用ANSI C语言编写而成. 它最大的特点数据全部放缓存,主要用于读写操作频繁的,如秒杀系统.我联想的是我们监控系统中的秒级回放,…
目录 前言 1. Redis对象概述 1.1 对象的定义 2. 字符串对象 3. 列表对象 3.1 quicklist 快速链表 4. 哈希对象 5. 集合对象 6. 有序集合对象 7. Redis对象的特点 7.1 类型检查与命令多态 7.2 内存回收 7.3 对象共享 7.4 对象的空转时长 最后 前言 参考资料:<Redis设计与实现 第二版>: 本篇笔记按照书里的脉络,将知识点分为四个部分.其中第一部分数据结构与对象分为上中下篇,上篇包括:SDS.链表和字典:中篇包括跳跃表.整数集合和…
目录 前言 1. Redis中的数据库 2. 数据库的键空间 3. 键的生成时间与过期时间 4. Redis中的过期键删除策略 5. AOF.RDB和复制功能对过期键的处理 5.1 生成 RDB 文件 5.2 载入 RDB 文件 5.3 AOF 文件写入 5.4 AOF 重写 5.5 复制 6. 数据库通知 最后 前言 参考资料:<Redis设计与实现 第二版>: 第二部分为单机数据库的实现,主要由以下模块组成:数据库.持久化.事件.客户端与服务器: 本篇将介绍 Redis 中的数据库: 1.…