Redis开发与运维读书笔记之一ITeye - 千亿集团

Redis开发与运维读书笔记之一ITeye

2019-01-10 13:44:29 | 作者: 采波 | 标签: 装备,客户端,运用 | 浏览: 741

第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 244 9.4 客户端衔接 249 9.4.1 Redis Sentinel的客户端 249 9.4.2 Redis Sentinel客户端根本完成原理 249 9.4.3 Java操作Redis Sentinel 251 9.5 完成原理 254 9.5.1 三个守时监控使命 254 9.5.2 片面下线和客观下线 256 9.5.3 领导者Sentinel节点推举 258 9.5.4 毛病搬运 261 9.6 开发与运维中的问题 262 9.6.1 毛病搬运日志剖析 262 9.6.2 节点运维 268 9.6.3 高可用读写别离 271 9.7 本章要点回忆 272 第10章 集群 274 10.1 数据散布 274 10.1.1 数据散布理论 274 10.1.2 Redis数据分区 277 10.1.3 集群功用约束 278 10.2 建立集群 278 10.2.1 预备节点 278 10.2.2 节点握手 280 10.2.3 分配槽 282 10.2.4 用redis-trib.rb建立集群 284 10.3 节点通讯 287 10.3.1 通讯流程 287 10.3.2 Gossip音讯 287 10.3.3 节点挑选 290 10.4 集群弹性 291 10.4.1 弹性原理 291 10.4.2 扩容集群 293 10.4.3 缩短集群 301 10.5 恳求路由 305 10.5.1 恳求重定向 305 10.5.2 Smart客户端 309 10.5.3 ASK重定向 318 10.6 毛病搬运 323 10.6.1 毛病发现 323 10.6.2 毛病康复 329 10.6.3 毛病搬运时刻 334 10.6.4 毛病搬运演练 334 10.7 集群运维 336 10.7.1 集群完整性 336 10.7.2 带宽耗费 337 10.7.3 Pub/Sub播送问题 337 10.7.4 集群歪斜 338 10.7.5 集群读写别离 339 10.7.6 手动毛病搬运 341 10.7.7 数据搬迁 344 10.8 本章要点回忆 344 第11章 缓存规划 346 11.1 缓存的收益和本钱 346 11.2 缓存更新战略 347 11.3 缓存粒度操控 349 11.4 穿透优化 350 11.5 无底洞优化 352 11.6 雪崩优化 359 11.7 热门key重建优化 360 11.8 本章要点回忆 364 第12章 开发运维的“圈套” 365 12.1 Linux装备优化 365 12.1.1 内存分配操控 365 12.1.2 swappiness 367 12.1.3 THP 369 12.1.4 OOM killer 370 12.1.5 运用NTP 371 12.1.6 ulimit 371 12.1.7 TCP backlog 372 12.2 flushall/flushdb误操作 372 12.2.1 缓存与存储 373 12.2.2 凭借AOF机制康复 373 12.2.3 RDB有什么改变 374 12.2.4 从节点有什么改变 374 12.2.5 快速康复数据 374 12.3 安全的Redis 375 12.3.1 Redis暗码机制 377 12.3.2 假装风险指令 378 12.3.3 防火墙 380 12.3.4 bind 380 12.3.5 定时备份数据 381 12.3.6 不运用默许端口 381 12.3.7 运用非root用户发动 381 12.4 处理bigkey 382 12.4.1 bigkey的损害 382 12.4.2 怎么发现 382 12.4.3 怎么删去 383 12.4.4 最佳实践思路 386 12.5 寻觅热门key 386 12.6 本章要点回忆 391 第13章 Redis监控运维云渠道CacheCloud 392 13.1 CacheCloud是什么 392 13.1.1 现有问题 393 13.1.2 CacheCloud根本功用 393 13.2 快速布置 395 13.2.1 CacheCloud环境需求 395 13.2.2 CacheCloud快速开端 395 13.3 机器布置 397 13.3.1 布置脚本 398 13.3.2 增加机器 399 13.4 接入使用 400 13.4.1 全体流程 401 13.4.2 账户申请和批阅 401 13.4.3 使用申请和批阅 402 13.4.4 客户端接入 405 13.5 用户功用 407 13.5.1 使用计算信息 408 13.5.2 实例列表 409 13.5.3 使用概况 409 13.5.4 指令曲线 409 13.5.5 CacheCloud Redis Shell操控台 410 13.5.6 慢查询 410 13.5.7 使用拓扑 411 13.6 运维功用 413 13.6.1 使用运维 413 13.6.2 接入已存在的Redis节点 415 13.6.3 Redis装备模板 416 13.6.4 搬迁东西 417 13.6.5 监控报警 420 13.6.6 体系装备办理 422 13.7 客户端上报 423 13.7.1 客户端上报全体规划 424 13.7.2 Jedis中心代码修正 424 13.7.3 带上报功用的客户端 426 13.7.4 CacheCloud客户端计算 427 13.8 本章要点回忆 429 第14章 Redis装备计算字典 430 14.1 info体系状况阐明 430 14.1.1 指令阐明 430 14.1.2 具体阐明 431 14.2 standalone装备阐明和剖析 436 14.2.1 全体装备 436 14.2.2 最大内存及战略 437 14.2.3 AOF相关装备 437 14.2.4 RDB相关装备 438 14.2.5 慢查询装备 438 14.2.6 数据结构优化装备 439 14.2.7 仿制相关装备 439 14.2.8 客户端相关装备 440 14.2.9 安全相关装备 440 14.3 Sentinel装备阐明和剖析 440 14.4 Cluster装备阐明和剖析 441

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    MongoDB运用总结ITeye

    文档,查询,条件
  • 2
  • 3

    exceptionITeye

    成果,形似,有点
  • 4
  • 5

    mysql的count函数优化ITeye

    索引,优化,情况
  • 6
  • 7

    DB2锁机制ITeye

    机制,程序,数据
  • 8

    oracle功能优化总结ITeye

    索引,视图,优化
  • 9

    oracle存储进程ITeye

    存储,进程,数据
  • 10

    Oracle中rownum、rowid、rowITeye

    相同,记载,排名