Redis开发与运维 PDF 高质量版

  • 更新时间:
  • 2250人关注
  • 点击下载

Redis开发与运维》是一本关于Redis相关的电子书资源,介绍了关于Redis开发、Redis运维、数据库技术方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小236 MB,付磊,张益军编写,目前豆瓣、亚马逊、当当、京东等综合评分为:7.4分,我们还提供了PDF格式内容下载,一起来看下具体内容。

资源详情相关推荐
《Redis开发与运维》封面
  • 出版社:机械工业出版社
  • 作者:付磊,张益军
  • 大小:236 MB
  • 类别:Redis
  • 热度:470
  • Redis开发运维实践指南
  • Redis实战
  • Redis 4.x Cookbook
  • 左手MongoDB右手Redis:从入门到商业实战
  • Redis开发与运维》全面讲解Redis基本功能及其应用,并结合线上开发与运维中的实际案例,深入分析并总结了实际工作中遇到的“陷阱”,以及背后的原因,包含大规模集群开发与管理的场景、应用案例与开发技巧,为高效开发运维提供了大量实际经验和建议。本书不要求读者有任何Redis使用经验,对入门与进阶DevOps的开发者提供有价值的帮助。主要内容包括:Redis的安装配置、API、各种高效功能、客户端、持久化、复制、高可用、内存、哨兵、集群、缓存设计等,Redis高可用集群解决方案,Redis设计和使用中的问题,最后提供了一个开源工具:Redis监控运维云平台CacheCloud。

    从开发、运维两个角度总结了Redis实战经验,深入浅出地剖析底层实现,包含大规模集群开发与运维的实际案例、应用技巧。

    全面覆盖Redis 3及以上版本的基本功能及应用,提供了大量手绘版图片,细腻讲解底层实现机制。

    目录

    • 第1章 初识Redis 1
    • 1.1 盛赞Redis 1
    • 1.2 Redis特性 2
    • 1.3 Redis使用场景 5
    • 1.3.1 Redis可以做什么 5
    • 1.3.2 Redis不可以做什么 5
    • 1.4 用好Redis的建议 6
    • 1.5 正确安装并启动Redis 6
    • 1.5.1 安装Redis 7
    • 1.5.2 配置、启动、操作、关闭Redis 8
    • 1.6 Redis重大版本 11
    • 1.7 本章重点回顾 14
    • 第2章 API的理解和使用 15
    • 2.1 预备 15
    • 2.1.1 全局命令 15
    • 2.1.2 数据结构和内部编码 18
    • 2.1.3 单线程架构 19
    • 2.2 字符串 21
    • 2.2.1 命令 22
    • 2.2.2 内部编码 27
    • 2.2.3 典型使用场景 28
    • 2.3 哈希 31
    • 2.3.1 命令 32
    • 2.3.2 内部编码 35
    • 2.3.3 使用场景 36
    • 2.4 列表 38
    • 2.4.1 命令 38
    • 2.4.2 内部编码 43
    • 2.4.3 使用场景 44
    • 2.5 集合 46
    • 2.5.1 命令 46
    • 2.5.2 内部编码 50
    • 2.5.3 使用场景 51
    • 2.6 有序集合 52
    • 2.6.1 命令 53
    • 2.6.2 内部编码 59
    • 2.6.3 使用场景 59
    • 2.7 键管理 60
    • 2.7.1 单个键管理 60
    • 2.7.2 遍历键 67
    • 2.7.3 数据库管理 70
    • 2.8 本章重点回顾 73
    • 第3章 小功能大用处 74
    • 3.1 慢查询分析 74
    • 3.1.1 慢查询的两个配置参数 75
    • 3.1.2 最佳实践 77
    • 3.2 Redis Shell 78
    • 3.2.1 redis-cli详解 78
    • 3.2.2 redis-server详解 82
    • 3.2.3 redis-benchmark详解 83
    • 3.3 Pipeline 84
    • 3.3.1 Pipeline概念 84
    • 3.3.2 性能测试 85
    • 3.3.3 原生批量命令与Pipeline对比 86
    • 3.3.4 最佳实践 87
    • 3.4 事务与Lua 87
    • 3.4.1 事务 87
    • 3.4.2 Lua用法简述 90
    • 3.4.3 Redis与Lua 92
    • 3.4.4 案例 94
    • 3.4.5 Redis如何管理Lua脚本 96
    • 3.5 Bitmaps 98
    • 3.5.1 数据结构模型 98
    • 3.5.2 命令 98
    • 3.5.3 Bitmaps分析 101
    • 3.6 HyperLogLog 102
    • 3.7 发布订阅 105
    • 3.7.1 命令 106
    • 3.7.2 使用场景 108
    • 3.8 GEO 109
    • 3.9 本章重点回顾 112
    • 第4章 客户端 113
    • 4.1 客户端通信协议 113
    • 4.2 Java客户端Jedis 117
    • 4.2.1 获取Jedis 117
    • 4.2.2 Jedis的基本使用方法 118
    • 4.2.3 Jedis连接池的使用方法 122
    • 4.2.4 Redis中Pipeline的使用方法 125
    • 4.2.5 Jedis的Lua脚本 126
    • 4.3 Python客户端redis-py 128
    • 4.3.1 获取redis-py 128
    • 4.3.2 redis-py的基本使用方法 128
    • 4.3.3 redis-py中Pipeline的使用方法 130
    • 4.3.4 redis-py中的Lua脚本使用方法 130
    • 4.4 客户端管理 131
    • 4.4.1 客户端API 132
    • 4.4.2 客户端相关配置 145
    • 4.4.3 客户端统计片段 145
    • 4.5 客户端常见异常 146
    • 4.6 客户端案例分析 149
    • 4.6.1 Redis内存陡增 149
    • 4.6.2 客户端周期性的超时 151
    • 4.7 本章重点回顾 153
    • 第5章 持久化 154
    • 5.1 RDB 154
    • 5.1.1 触发机制 154
    • 5.1.2 流程说明 155
    • 5.1.3 RDB文件的处理 156
    • 5.1.4 RDB的优缺点 156
    • 5.2 AOF 157
    • 5.2.1 使用AOF 157
    • 5.2.2 命令写入 157
    • 5.2.3 文件同步 158
    • 5.2.4 重写机制 159
    • 5.2.5 重启加载 161
    • 5.2.6 文件校验 162
    • 5.3 问题定位与优化 162
    • 5.3.1 fork操作 162
    • 5.3.2 子进程开销监控和优化 163
    • 5.3.3 AOF追加阻塞 165
    • 5.4 多实例部署 166
    • 5.5 本章重点回顾 167
    • 第6章 复制 168
    • 6.1 配置 168
    • 6.1.1 建立复制 168
    • 6.1.2 断开复制 170
    • 6.1.3 安全性 170
    • 6.1.4 只读 170
    • 6.1.5 传输延迟 171
    • 6.2 拓扑 171
    • 6.3 原理 172
    • 6.3.1 复制过程 172
    • 6.3.2 数据同步 175
    • 6.3.3 全量复制 178
    • 6.3.4 部分复制 181
    • 6.3.5 心跳 183
    • 6.3.6 异步复制 184
    • 6.4 开发与运维中的问题 184
    • 6.4.1 读写分离 184
    • 6.4.2 主从配置不一致 186
    • 6.4.3 规避全量复制 186
    • 6.4.4 规避复制风暴 187
    • 6.5 本章重点回顾 188
    • 第7章 Redis的噩梦:阻塞 189
    • 7.1 发现阻塞 189
    • 7.2 内在原因 191
    • 7.2.1 API或数据结构使用不合理 191
    • 7.2.2 CPU饱和 193
    • 7.2.3 持久化阻塞 194
    • 7.3 外在原因 195
    • 7.3.1 CPU竞争 195
    • 7.3.2 内存交换 195
    • 7.3.3 网络问题 196
    • 7.4 本章重点回顾 199
    • 第8章 理解内存 200
    • 8.1 内存消耗 200
    • 8.1.1 内存使用统计 200
    • 8.1.2 内存消耗划分 201
    • 8.1.3 子进程内存消耗 203
    • 8.2 内存管理 204
    • 8.2.1 设置内存上限 204
    • 8.2.2 动态调整内存上限 204
    • 8.2.3 内存回收策略 205
    • 8.3 内存优化 209
    • 8.3.1 redisObject对象 209
    • 8.3.2 缩减键值对象 210
    • 8.3.3 共享对象池 211
    • 8.3.4 字符串优化 213
    • 8.3.5 编码优化 216
    • 8.3.6 控制键的数量 223
    • 8.4 本章重点回顾 225
    • 第9章 哨兵 226
    • 9.1 基本概念 226
    • 9.1.1 主从复制的问题 227
    • 9.1.2 高可用 227
    • 9.1.3 Redis Sentinel的高可用性 229
    • 9.2 安装和部署 232
    • 9.2.1 部署拓扑结构 232
    • 9.2.2 部署Redis数据节点 233
    • 9.2.3 部署Sentinel节点 234
    • 9.2.4 配置优化 236
    • 9.2.5 部署技巧 243
    • 9.3 API
    展开阅读

    Redis相关资源

    • Netty、Redis、Zookeeper高并发实战

      Netty、Redis、Zookeeper高并发实战

      这书以便让读者扎稳高性能基本,通俗易懂地分析高并发IO的最底层原理,细腻细致地分析Reactor高性能方式,图片配文字地介绍Java多线程回调函数方式。把握这种基本原理,可以协助读者处理

      大小:15.6 MBNetty

      立即下载
    • 史上最全Redis面试题及答案大全

      史上最全Redis面试题及答案大全

      Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 在网上看到有关Redis的46道面试题,但是没有给出答案,今天特地把答案分享出来。花了大量时间整理了这套Redis面试题及答案,希望对大家有帮助哈~ 从入门到精通,从基础,高级知识点,再到集群,运维,方案,弄明白了这些Redis面试题基本上就可以成为面霸了!

      大小:501 KBRedis

      立即下载
    • Redis深度历险:核心原理与应用实践

      Redis深度历险:核心原理与应用实践

      Redis 是互联网技术领域使用*为广泛的存储中间件,以其超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。

      大小:133.2 MBRedis

      立即下载
    • Java EE互联网轻量级框架整合开发:SSM框架和Redis实现

      Java EE互联网轻量级框架整合开发:SSM框架和Redis实现

      随着移动互联网的兴起,以Java技术为后台的互联网技术占据了市场的主导地位,而在Java互联网后台开发中,SSM框架(Spring Spring MVC MyBatis)成为了主要架构,《 Java EE互联网轻量级框架整合开发

      大小:489.1 MBJavaEE

      立即下载
    • Redis 4.x Cookbook

      Redis 4.x Cookbook

      本书讲述了Redis在设计、开发和运维等方面的80 多个实战案例,可以由浅入深地学到有关Redis 的几乎所有知识,适合所有对Redis 感兴趣的开发与运维人员阅读和参考

      大小:8.6 MBRedis实战

      立即下载

    学习笔记

    14小时47分钟前回答

    Java Redis分布式锁的正确实现方式详解

    前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。 可靠性 首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件: 互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 具有容错性。只要大部分的Redis节……

    20小时8分钟前回答

    PHP+redis实现微博的拉模型案例详解

    本文实例讲述了PHP+redis实现微博的拉模型。分享给大家供大家参考,具体如下: 上回写了一篇推模型的内容,这回分享一篇拉模型的内容。 拉模型 拉模型就是展示微博的时候,获取自己的所有关注的人,然后从关注的人中拉取最新微博。 微博项目数据结构设计 user表设计 注册的时候将user数据写入redis中,key如下: user数据的key 用户名=user:uesrid:$uesrid:username 密码=user:userid:$userid:password 还需要这样写一份,因为需要靠用户名来登录,这样就可以根据用户名来查询用户id。 user:username:userid:$userid 关注的人和粉丝设计 每个用户在产生关注的动作后,在redis中维护两个无序集合set,一个是following,一个是followe……

    9小时31分钟前回答

    Linux下 php7安装redis的方法

    安装redis服务 1 下载redis cd /usr/local/ 进入安装目录 wget http://download.redis.io/redis-stable.tar.gz 2 解压安装 tar xvzf redis-stable.tar.gz cd redis-stable make make install 3 配置redis 拷贝配置文件到/etc/redis/redis.conf cp redis.conf /etc/redis/6379redis.conf vim /etc/redis/redis.conf 修改文件 把 daemonize 这一项改成 yes 增加:pidfile /var/redis/run/redis_6379.pid 增加:logfile /var/redis/log/redis_6379.log 增加:dir /var/redis/6379 保存退出 最后运行redis: redis-server /etc/redis/redis.conf 查看端口【6379】 netstat –atln 4 打开客户端 进入安装目录打开 cd redis-stable/src/redis-cli 安装php-redis扩展 1 下载redis扩展 php-redis下载地址 https://github.com/phpredis/phpredis 2 解压安装 unzip phpredis-d……

    23小时4分钟前回答

    PHP结合Redis+MySQL实现冷热数据交换应用案例详解

    本文实例讲述了PHP结合Redis+MySQL实现冷热数据交换应用案例。分享给大家供大家参考,具体如下: 场景: 某网站需要对其项目做一个投票系统,投票项目上线后一小时之内预计有100万用户进行投票,希望用户投票完就能看到实时的投票情况 这个场景可以使用redis+mysql冷热数据交换来解决。 何为冷热数据交换? 冷数据:之前使用的数据,热数据:当前使用的数据。 交换:将Redis中的数据周期的存储到MySQL中 业务流程 用户进行投票后,首先将投票数据保存到Redis中,这些数据就是热数据,然后定期(如5s)将热数据保存到MySQL中,这些数据就变为冷数据,然后将冷数据从Redis中删除,周而复始,知道一个小……

    8小时5分钟前回答

    PHP+Redis 消息队列 实现高并发下注册人数统计的实例

    前言 现在越来越多的网站开始注重统计和用户行为分析,作为网站经常使用的功能,如何让统计性能更加高,这也是我们需要考虑的事情。本篇通过Redis来优化统计功能(以注册人数统计为例)。 传统的统计功能都是直接操作数据库把数据插入表中。这样做,对数据库的性能消耗就会比较大。 思路: 这里我们用到了redis的队列,注册的时候先添加到队列,然后在处理的时候出队,并且把人数添加redis里。 代码: ?php//register.php $redis = new Redis();$redis-connect('127.0.0.1',6379);$i=0;while(true){ $i++; //假定一直有人在注册 $redis-rpush("register_success",$i);} ?php//deal.php$redis = new Redis();$redis-connect('127.0.0.1',6379);while (true) { //l……