|
Java电子书:Redis开发与运维 格式 pdf 电子书 PDF 电子书 Java吧 java8.com& w2 M% A6 f* P i, x- p, k7 k' [
0 X6 J. W: C% |* x' n作者:付磊 张益军出版社:机械工业出版社出版时间:2017年02月
( U; O% D+ i: V+ o1 W* D编号:189-P0033【Java吧 java8.com】
0 V4 f" i- B% q$ l, [8 k1 r* v3 a# q5 _6 `" R1 c( q# @
q; Q$ \2 _3 U: r. U( B# b5 N/ m, g1 p! ?0 Q+ k
Java电子书目录:第1章 初识Redis 1) A) Z s2 |: [
1.1 盛赞Redis 1
' {( g! k6 x" y( e+ _: P* t$ _1.2 Redis特性 2& j% n7 z% B- J( k W# G( T( r
1.3 Redis使用场景 5
2 n/ T6 i% }6 Z5 E2 ]. H4 t g3 X1.3.1 Redis可以做什么 5
{/ {, ^) z0 y) c8 }8 Z1.3.2 Redis不可以做什么 5# ^1 }; k9 W" @
1.4 用好Redis的建议 6
' n! F/ g4 V5 n3 r& L6 ^1.5 正确安装并启动Redis 6
4 l0 E, `# t8 Q7 R M @1.5.1 安装Redis 7
# ]: c x7 Z- J& g1.5.2 配置、启动、操作、关闭Redis 8
" k5 ~$ H' p9 A' p7 v: \# H0 R: A$ u l1.6 Redis重大版本 11
- H/ g ~* L$ y$ b& i1.7 本章重点回顾 14- Z3 d F; h8 _: I* m/ I4 o9 d3 l' ?
第2章 API的理解和使用 15
* N, D+ Y+ P5 J6 I+ Y2.1 预备 156 k$ |* K v5 C* M
2.1.1 全局命令 15
. e* C$ o- J: F- n% y( q7 f2.1.2 数据结构和内部编码 18& O h2 }+ i9 Y# K; Y% m/ ?) S/ ~
2.1.3 单线程架构 190 `: Y% H' ?1 U; V% T4 Z# Z
2.2 字符串 21
6 z& j4 M# q. k2 a" F5 R6 m/ R2.2.1 命令 22. Z: b2 r& f0 D' s6 x( I* ^ m
2.2.2 内部编码 27' E+ e1 O: N( j8 @- Q2 w' D7 j2 @0 Q! P) ~
2.2.3 典型使用场景 283 ?5 g r, e" W7 F; V
2.3 哈希 31
( `* B* S2 K0 T+ w2.3.1 命令 32
/ z; b2 _' x4 Q$ U5 Y2.3.2 内部编码 356 r' c/ T+ i& ?" O$ j6 y1 `
2.3.3 使用场景 36
: G" ~4 a7 u! ~' k2.4 列表 38
. {, s" a: s, O2.4.1 命令 38
! V& o, O2 m. l* W) J2.4.2 内部编码 43; }' u% g2 p; o
2.4.3 使用场景 44& t% e5 Q; \) g: D# R$ R ?
2.5 集合 46
( _9 I6 A; m+ Q9 T) C% \2.5.1 命令 46java吧 www.java8.com
7 u; r2 f- C: e0 B. w& C4 R2.5.2 内部编码 50
- L$ T9 D- O6 j# n2.5.3 使用场景 510 a: U' g' O/ q1 e9 K, N
2.6 有序集合 522 Z( J- D1 Y# Z7 ?3 e
2.6.1 命令 53
, F5 P O% }4 q2.6.2 内部编码 59
( p" i: O: b* s) z& O9 z2.6.3 使用场景 59
: Q5 R' F: _. A. l# l2.7 键管理 60
0 X* j# u: A- g! w$ M2.7.1 单个键管理 60. \' {2 O7 Z, e2 m4 X; g' l2 r+ o
2.7.2 遍历键 676 ^8 ~: n' U p0 A& Q1 H g
2.7.3 数据库管理 70) j, S* c/ f4 d, @5 f( A: ^
2.8 本章重点回顾 73
* i2 B: L' Y+ M( F. E第3章 小功能大用处 74
4 m) D1 r& _0 W+ x& k' w2 w9 _3.1 慢查询分析 74
( y5 s2 S9 C3 h% x3.1.1 慢查询的两个配置参数 75
, m% g+ M$ ]8 P3.1.2 实践 77, R; `( t) b. j9 v9 ^% Z! Q
3.2 Redis Shell 78. y7 ]6 p3 Q( N- A) s* o
3.2.1 redis-cli详解 78" s+ F2 t C- F( ?! l& B
3.2.2 redis-server详解 82 x: e g8 b& N4 ]( Q: ? E
3.2.3 redis-benchmark详解 83* j+ R- |5 S- y1 S- s f5 k$ ~
3.3 Pipeline 84
& s- K0 {, t. }% t" [# b3.3.1 Pipeline概念 84+ m) k1 C, Z1 ~; ?
3.3.2 性能测试 85/ D5 A! D5 \# |8 ]) y6 m
3.3.3 原生批量命令与Pipeline对比 86
9 M9 D. y3 y4 x! ?' S \- @3.3.4 实践 87
1 Y2 z3 Y2 f6 p) Q& t$ k3.4 事务与Lua 879 h4 l7 @+ l; d) r* o9 S- p F8 i
3.4.1 事务 87
% w+ @- r0 D, Q6 a% ^3.4.2 Lua用法简述 909 k4 u" I8 T( ^5 \ e
3.4.3 Redis与Lua 92
$ Q7 A/ V" V& @# r) g3.4.4 案例 94
. w! O, H2 K$ @# U/ w D3.4.5 Redis如何管理Lua脚本 96
# z" }2 y1 ~2 ]' h+ b( O3.5 Bitmaps 98
7 h; y& \6 ]8 n8 Z& a3.5.1 数据结构模型 98
- Y" m" y6 c5 k% w/ I( `- E' T, a3.5.2 命令 98. e) T0 t) Y( q) R; W
3.5.3 Bitmaps分析 101
/ `! I( L6 r% U, B, ~ I3.6 HyperLogLog 102: \' {0 g. \$ N& Q
3.7 发布订阅 105
) l' T+ i: P0 w/ L0 i5 W3.7.1 命令 1064 K# Q5 K* S3 |+ l1 N1 L
3.7.2 使用场景 108
& q( t) |( c. X- k3.8 GEO 109
' }8 \$ V I& n6 D3.9 本章重点回顾 112% J) X* X. i3 f2 N
第4章 客户端 113
% X/ E: O9 A( f- V& p$ F% K' C4.1 客户端通信协议 113
0 r9 O, Z& c7 g& }- {4.2 Java客户端Jedis 117
' B6 u) e1 X0 b9 [! m# A l' _3 k4.2.1 获取Jedis 117
$ k* R# i1 s0 o. X; q5 U. ~+ n: y4.2.2 Jedis的基本使用方法 118- v1 v. @ t( R
4.2.3 Jedis连接池的使用方法 1221 }) d( t3 w- n0 A6 Q' J
4.2.4 Redis中Pipeline的使用方法 125/ T- G$ t3 w$ N% I
4.2.5 Jedis的Lua脚本 126
7 _8 c6 Y$ N9 @9 J4.3 Python客户端redis-py 128+ g8 \' W5 N- p. K6 a/ ]
4.3.1 获取redis-py 1287 F' y- [. K) {
4.3.2 redis-py的基本使用方法 128
" G* k J3 q4 W3 `. `3 v$ ^% c4.3.3 redis-py中Pipeline的使用方法 130" o& Y' H/ J9 W: O
4.3.4 redis-py中的Lua脚本使用方法 130/ ^8 s7 r+ T- V! ?* D, ^0 W
4.4 客户端管理 131
7 L* v9 @" m" I% C4.4.1 客户端API 132. z- H0 W6 O) ?. A$ R
4.4.2 客户端相关配置 1456 l8 F% e6 ~, H% x7 I$ U$ Z3 s
4.4.3 客户端统计片段 145$ ?6 W4 h9 @% I3 e) z% w6 X
4.5 客户端常见异常 146& M, z1 S5 R5 Z9 w3 F6 e2 b& }
4.6 客户端案例分析 149
# a( {$ Y" T( K' L; Q# a4.6.1 Redis内存陡增 149
( `+ A2 R' A$ D( A4.6.2 客户端周期性的超时 151! q6 C4 ^5 ~9 t& k: r
4.7 本章重点回顾 153
- H+ B! o4 q( k# c9 [第5章 持久化 1540 E0 E7 {* }1 I+ U1 o& A* O5 g
5.1 RDB 154
6 w3 R' v% | U9 a# C* G5.1.1 触发机制 1544 v$ J. |, G$ M+ o# \2 o2 B
5.1.2 流程说明 155# O( R: y( r( V2 v& y( q4 V- K
5.1.3 RDB文件的处理 156/ M/ P9 A1 x9 D! _" K5 n
5.1.4 RDB的优缺点 156' L+ F1 { C2 g5 x% \ [. C
5.2 AOF 1572 a1 s7 V4 l: L
5.2.1 使用AOF 157
3 X6 O% J5 [; Q5.2.2 命令写入 157% K N- g9 ]) H5 M ]9 V, y& L" _
5.2.3 文件同步 158& H3 N ^1 s$ q# w5 ~/ K4 b
5.2.4 重写机制 1597 x) m% I3 |! J6 J/ B- b, z% G+ W
5.2.5 重启加载 161" r' `- T# ^( Q( B+ I3 @
5.2.6 文件校验 162
) R) ]. i; \! U, f) b5.3 问题定位与优化 1627 p) w! @+ a3 H! K3 L( p
5.3.1 fork操作 1625 v" e5 u+ m. @: g
5.3.2 子进程开销监控和优化 163
: w- _ u8 }% Q0 z5 g5.3.3 AOF追加阻塞 165, d" P/ ], H! j j, J
5.4 多实例部署 166" @: B: F& A/ b) b7 q% K. x' D) g
5.5 本章重点回顾 167$ X5 c" p, P/ J
第6章 复制 168
2 D# W% G3 ]. a$ f0 h7 ~8 ]6.1 配置 168- p$ T! h( x3 F+ _: l8 n
6.1.1 建立复制 168
~$ L. b, h% P- M6.1.2 断开复制 170
3 h; r- z; _; n. d2 H4 ]6.1.3 安全性 170/ L. X! z4 P- t" }0 H5 k
6.1.4 只读 170- w1 i) m" E( d9 @3 ?5 I
6.1.5 传输延迟 1718 l5 p. |3 D& h1 W" I5 ]
6.2 拓扑 171, |* Z5 P* B! N. ^
6.3 原理 1725 y* N: l8 d, U, }# q* t( K
6.3.1 复制过程 172
: M- l7 e" t$ x; ?1 p J" D$ a6.3.2 数据同步 1756 O( b5 J: i( S) c
6.3.3 全量复制 178" _) E3 c" `3 w# J
6.3.4 部分复制 181" }+ M" S* P( ~; D
6.3.5 心跳 183- _; N8 r% }. [0 x
6.3.6 异步复制 184: U& ~* _9 E; H
6.4 开发与运维中的问题 184
1 I& \. z+ u' p6 t1 z6.4.1 读写分离 184
$ w: Q( ?) h& t6.4.2 主从配置不一致 186
# ~2 ?$ R$ S2 {, U& D# K6.4.3 规避全量复制 186, b" w4 r+ a% m+ b0 t$ l2 H
6.4.4 规避复制风暴 187) E' T" p- n# Z
6.5 本章重点回顾 188
+ b' O) k/ _: ` l; P v第7章 Redis的噩梦:阻塞 189
% A) @% _; F0 i, Q$ E6 u7.1 发现阻塞 189
3 E8 }0 M5 z8 n7.2 内在原因 1919 C: q: m! p0 t6 |, V+ W
7.2.1 API或数据结构使用不合理 191% z2 V7 G1 a4 w
7.2.2 CPU饱和 193
. {) d) C2 F% d: `6 b- [( ^3 _# M7.2.3 持久化阻塞 194
7 N+ W, Z+ K0 P2 ? Q/ B* o7.3 外在原因 195, X7 z0 ?! W5 B) {* h. d
7.3.1 CPU竞争 195
5 `4 S1 _, Z4 J$ N% @7.3.2 内存交换 195
/ N: `2 a" f1 r, \: h/ B% U/ C y; }7.3.3 网络问题 196
3 y0 D+ @* B" z+ v: i' J. @& l6 |7.4 本章重点回顾 199! L! h7 O1 |8 i5 W; S
第8章 理解内存 200
1 @% G4 |! O% l6 C% Z" x ?8.1 内存消耗 200
7 M/ L+ d# o2 {, o! R5 j8.1.1 内存使用统计 200
8 Z7 i' ?7 Z. x# Z/ o0 K. o0 q# U8.1.2 内存消耗划分 201
) w9 n4 [+ V- F- ~) Q8.1.3 子进程内存消耗 203
: }8 x8 P3 `; ~, J1 u: ^5 a( d3 a8.2 内存管理 204
/ t" X: i& m% j/ X8.2.1 设置内存上限 204: j% ]8 c( H2 i9 w
8.2.2 动态调整内存上限 204
. l3 f, M. o! q: f% P1 Y# |8.2.3 内存回收策略 205. n4 ]1 I( X6 _$ S4 O% h+ o6 o
8.3 内存优化 209: ~0 z: O, n- P x" z5 A3 a2 q
8.3.1 redisObject对象 209; l R8 m% \$ v! i6 j
8.3.2 缩减键值对象 210
' R+ B' F% f$ ~8.3.3 共享对象池 211
' J7 f ]7 I3 P- N/ g% h$ b2 \8.3.4 字符串优化 2130 y% z5 [5 G$ V' v$ Z9 k% P
8.3.5 编码优化 216
# o3 L- i& n5 C9 w( `+ q8 H8.3.6 控制键的数量 2235 J$ |/ @& M3 R% _
8.4 本章重点回顾 2256 g- R5 E% g" H! U
第9章 哨兵 226
# E( e* [# q. e* @9.1 基本概念 2269 l/ }2 f2 |$ U( G
9.1.1 主从复制的问题 2274 u L c: W. f. N* P7 l9 U* B7 W
9.1.2 高可用 227
' P# P; O7 [1 x1 P9 y9.1.3 Redis Sentinel的高可用性 229: G- A# v2 P0 b5 E8 t& }+ F# u
9.2 安装和部署 232
2 D, b/ W+ i. y1 @' }% s9.2.1 部署拓扑结构 232+ I* e) i, V4 E R3 y) u6 u6 A
9.2.2 部署Redis数据节点 233
6 x8 _" b& z: \ ^9.2.3 部署Sentinel节点 2347 X% h# \% @2 Q! @% d% q) |
9.2.4 配置优化 236. q1 Q# k% I- a/ i+ n
9.2.5 部署技巧 243
9 v0 J$ f' W7 v: l4 r7 F6 P* I9.3 API
5 b( {# B& L: A( V+ f/ ]1 T6 h5 }3 a" J* \: L
3 H/ B5 r6 l2 c/ `: a, I& h* n3 w
百度云盘下载地址(完全免费-绝无套路):
, g8 l2 s& a z% [" X6 ~9 Q' s# B |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|