|
Java电子书:Redis开发与运维 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
" q% j/ d8 p( `+ ~% B2 K% H1 |& @
7 |7 t' n$ p# l1 M, P作者:付磊 张益军出版社:机械工业出版社出版时间:2017年02月
p- Q! {& D0 w2 z$ U编号:189-P0033【Java吧 java8.com】+ \2 ]( }3 o4 c
7 j4 D/ W9 t; t' y/ o5 f; D# D& N$ U& O
2 \0 @+ w/ ~: T3 d; O
Java电子书目录:第1章 初识Redis 1! W% h4 Z9 _) h& C) B
1.1 盛赞Redis 1
. l- B! [" U8 x4 T: W9 R1.2 Redis特性 2- L8 ?, Y* h' T+ t5 [; R
1.3 Redis使用场景 53 @2 o4 o0 {8 B9 y) T+ F3 G8 r
1.3.1 Redis可以做什么 5
( ^* ^+ t9 M8 N }1.3.2 Redis不可以做什么 5
# l- _+ s |; C0 L1.4 用好Redis的建议 68 B4 n$ o4 p8 j, w! O- U
1.5 正确安装并启动Redis 6& Z6 }9 x8 p* _8 r
1.5.1 安装Redis 7 {3 P& z$ H& e) [
1.5.2 配置、启动、操作、关闭Redis 8/ F5 B* W- [3 \/ f D4 l* ^ z2 n
1.6 Redis重大版本 11
2 j: K3 S( i7 l* e1.7 本章重点回顾 14
+ }; n* `9 R$ V$ s, L第2章 API的理解和使用 15
' _. M/ i2 @! W5 o8 Z2.1 预备 15" x, }: I! h$ S/ V% w' g3 Y
2.1.1 全局命令 15
- q! }" x1 I& c5 N2 J2.1.2 数据结构和内部编码 18
) F7 q: f" ^# d, D* @2.1.3 单线程架构 19
, h* m @9 |) }1 m0 i/ Y3 P1 {8 R6 a2.2 字符串 21
& Z) c% ]: Z- ]) f) B v2.2.1 命令 22; E$ Y) A& q7 Z9 Y$ m/ v' \
2.2.2 内部编码 270 N/ [* z3 w" e" \
2.2.3 典型使用场景 28/ t0 ]+ C/ n- f6 o, H, l5 E$ g; c- p
2.3 哈希 315 P+ F5 {0 U: {% J
2.3.1 命令 32
$ D* \( y1 f5 K6 J2.3.2 内部编码 35
( P! J" K% m( x& |; W2.3.3 使用场景 36
3 c( L! x& v( f) p5 c2.4 列表 38' t" |& { c. Q6 V% ]; m' p; |
2.4.1 命令 38+ p, @0 w. g6 G" X. M; l; O
2.4.2 内部编码 43
8 H; J( q. j* E8 I5 _3 ?2.4.3 使用场景 44+ d( m# o) _- ?" x" K( H, m) l2 ^
2.5 集合 46
6 V$ d! }4 F4 t* B4 W" c2.5.1 命令 46java吧 www.java8.com
& \ _* m6 i" j( T7 f) o2.5.2 内部编码 502 H4 ^# X3 w+ B: |; Y0 h3 t
2.5.3 使用场景 51% s$ E& `2 x- ~3 ]' ~' \
2.6 有序集合 52
5 h# j L" o$ w2.6.1 命令 53( p5 @- d0 f9 V. D
2.6.2 内部编码 59 b/ H+ X, ]2 R# U5 c2 U& W: `- e% ^/ n
2.6.3 使用场景 59
" h$ u8 |0 b L" Q' V. `2.7 键管理 60
5 h8 b! I- t9 T/ `4 ?, w: P2.7.1 单个键管理 60
5 {: C7 W& M' r( {2 ~, r2 d; w2.7.2 遍历键 679 D- t0 t9 [( l0 F8 X- i
2.7.3 数据库管理 70. I$ a9 e/ k; B. N
2.8 本章重点回顾 73* K0 ] K8 T2 m( D+ X6 ~
第3章 小功能大用处 741 P$ J( @ |$ A, ?
3.1 慢查询分析 74$ \& T& ^& U1 T: u
3.1.1 慢查询的两个配置参数 75/ a, }: g" e+ G) S
3.1.2 实践 77
- G* b8 s2 k; e+ h# g3.2 Redis Shell 785 ~; k, F" U" N x0 r3 [
3.2.1 redis-cli详解 78
- e( c7 @8 ]8 ]' z j- L& b' w3.2.2 redis-server详解 82
0 T7 q P+ a' f+ v3 H3.2.3 redis-benchmark详解 83) C1 h4 ^7 a# ~0 | L0 M
3.3 Pipeline 84
5 ^& k, y& _& P4 f; ^3.3.1 Pipeline概念 84
0 y- l a1 y: M$ e0 V! Y. i Q3.3.2 性能测试 85
: {$ L# n( i9 \3.3.3 原生批量命令与Pipeline对比 86
& a+ b N# X6 Q& p. W) I3.3.4 实践 87: e5 d3 ]3 ^0 m; N* F( i" U
3.4 事务与Lua 87" O- R& {4 b* @; P2 m, L) L6 y
3.4.1 事务 87: p5 R9 Z! J- p' z
3.4.2 Lua用法简述 90
A9 m* s! x0 h) @6 w$ |% t3.4.3 Redis与Lua 92
* |# V y9 g" A) ~1 z' {8 h3.4.4 案例 94# J) ?' t1 e! N
3.4.5 Redis如何管理Lua脚本 96* p) f m- e6 ]" n0 Q7 a! w
3.5 Bitmaps 984 r6 B m2 W& j3 w/ F, C6 s
3.5.1 数据结构模型 98) w: q# o. W% {8 u9 U4 ^: h* f
3.5.2 命令 982 b" p3 ?( |; R/ ?2 x9 ^, a! h
3.5.3 Bitmaps分析 101, P$ J" A; V6 X
3.6 HyperLogLog 102
1 L" f8 l9 p; m. m7 |+ E3.7 发布订阅 105
' ?( r7 n. N! R* ]+ F3.7.1 命令 106 K, L& a5 C. d/ H) o# E
3.7.2 使用场景 1088 \- b4 b* ?& L& k% X
3.8 GEO 109$ F- {4 _ Z- g" e# O
3.9 本章重点回顾 112: V X$ G1 q. Y" T+ o) M
第4章 客户端 113
1 p, a+ A# A2 [4.1 客户端通信协议 113" l" L3 K- r& y1 O
4.2 Java客户端Jedis 1172 W! B$ ]/ Q) d: M M, l
4.2.1 获取Jedis 1177 h* g& _9 U6 [- f9 @' x5 x
4.2.2 Jedis的基本使用方法 118
4 S" `; I. ]. K G4.2.3 Jedis连接池的使用方法 122* ^! d: S5 W5 H+ a
4.2.4 Redis中Pipeline的使用方法 125/ D6 y$ i k r& f6 T
4.2.5 Jedis的Lua脚本 126
9 c( ~" m/ R ~4 g0 B4.3 Python客户端redis-py 1285 ^0 G4 D' c. G" z/ A7 ^
4.3.1 获取redis-py 1288 u3 K- `( ~) A
4.3.2 redis-py的基本使用方法 128
0 l8 ~ Z' L+ s/ r, v q. {4.3.3 redis-py中Pipeline的使用方法 1307 w* i. V4 p% x5 C6 O
4.3.4 redis-py中的Lua脚本使用方法 130& P5 @) C3 o! R T' X: T* N0 `
4.4 客户端管理 131
0 z/ M4 g) z# b) Q4.4.1 客户端API 132+ K5 C0 E" s h3 A3 G0 Z9 E" p1 e
4.4.2 客户端相关配置 145
- g: l! o% e! H* z' q4.4.3 客户端统计片段 145
. X) |4 S2 ?$ l3 _ i5 G7 L4 F" d4.5 客户端常见异常 146! l. h' u5 }7 t
4.6 客户端案例分析 149# e" n8 k9 W" E9 {& e
4.6.1 Redis内存陡增 149
1 j+ @3 }' q$ m% b( ?+ ^# O; L# G4.6.2 客户端周期性的超时 151
2 v& n- ?$ i9 p. b4.7 本章重点回顾 153+ l3 \. o& M4 S' h
第5章 持久化 154
* c* {- H/ ^3 b4 ?+ R5.1 RDB 154
# B4 u! q8 X$ F& K- i% T% \0 c& D5.1.1 触发机制 154+ L5 W& g0 F9 E$ M& H: F: r7 |
5.1.2 流程说明 1558 f) C2 N) b. r6 V% A
5.1.3 RDB文件的处理 156
. v: e8 y% x8 Q c" H: t5.1.4 RDB的优缺点 156' N) e! d2 ~: ]! s/ F
5.2 AOF 157& r$ G9 A/ b! v$ L/ o
5.2.1 使用AOF 157
: T8 ?* G& D: {( a5.2.2 命令写入 157
1 w1 ~3 Q. b3 h$ p" J' L" V5.2.3 文件同步 158
$ N7 I2 O; a2 t2 _: k; E5.2.4 重写机制 159
6 {! f3 u$ N3 A% y. R7 I7 T% k5.2.5 重启加载 161
& F$ m. ]/ S1 J! ^1 [* a9 s) m5.2.6 文件校验 162
# C# E/ P: ]. T) v5.3 问题定位与优化 162
7 b* W6 n4 A+ a0 P8 E4 C8 B5.3.1 fork操作 162
& V2 J8 N, j3 n1 c5.3.2 子进程开销监控和优化 1636 }& p. u- V* T7 a5 c$ p7 D
5.3.3 AOF追加阻塞 165
) g1 F4 T: S" ~" m# R5.4 多实例部署 166
1 k0 R" M3 m: y; L7 e5.5 本章重点回顾 167
; g: }! A* B# d第6章 复制 1686 N* ?) c- c8 Y" Y
6.1 配置 168
$ u! j8 ~2 D8 a- n4 M# v6.1.1 建立复制 168, i1 G/ X. [9 U$ N, m2 |2 w
6.1.2 断开复制 170
; s( a6 L! p1 }. F- ?6.1.3 安全性 170
( l% m. K2 j0 Q! |, Q! ~" I q0 {6.1.4 只读 1709 k- s1 E1 i2 s7 i% ?
6.1.5 传输延迟 171
: [2 v6 @6 v) q& N6.2 拓扑 171
+ L6 ~' u, M7 }4 T$ n8 D6.3 原理 1723 C& |2 Y# k$ W/ J" G8 F
6.3.1 复制过程 172
, _# M3 D/ y( M p; H- F9 b6.3.2 数据同步 175
H# G& X* e; Z. v6.3.3 全量复制 178
" `: v4 B2 K: y/ o5 f% W- U6.3.4 部分复制 1812 ^$ w7 }& Y, Y% g/ c
6.3.5 心跳 183
( h7 y7 ?- @4 y7 K8 m; M5 R, I' n/ F7 X6.3.6 异步复制 184. C. `* ^% X1 u( ^
6.4 开发与运维中的问题 1846 G/ d- k. W' H6 j+ L: F, _" o V8 X
6.4.1 读写分离 184
; J& k2 m; a/ f9 a0 k0 ]4 {* Y6.4.2 主从配置不一致 1865 h1 F# U+ T8 n$ d/ T
6.4.3 规避全量复制 186
7 W X9 h* N2 }2 y; \8 s) }3 W5 L6.4.4 规避复制风暴 187
1 A J6 K& ]* X. a! V6.5 本章重点回顾 188
7 H, n) J) S/ g第7章 Redis的噩梦:阻塞 189* }7 W9 r6 f7 {
7.1 发现阻塞 189
" p, [; J6 H' y2 P7 X7.2 内在原因 191
# v0 x5 q o+ T* _# [4 k7.2.1 API或数据结构使用不合理 1910 r1 Z( F8 f0 o* @
7.2.2 CPU饱和 193! M5 P/ E7 p7 r' m- n
7.2.3 持久化阻塞 194% u4 k& i% P. G1 n2 g1 @
7.3 外在原因 195
, @3 R2 ]% _( {3 C7.3.1 CPU竞争 1959 E. I5 V6 M* Y' D- B
7.3.2 内存交换 1952 d6 s4 E: }( v
7.3.3 网络问题 196* S7 R7 o6 v% @* l" i$ G+ {
7.4 本章重点回顾 199
# }! o' @! z/ q9 Y% |+ c$ M第8章 理解内存 2003 v, w1 K. I7 y6 i8 k+ x8 U6 d* a
8.1 内存消耗 200
! W% v+ x' E6 N9 Y9 s8.1.1 内存使用统计 2002 J, H4 c& F8 Q6 f
8.1.2 内存消耗划分 201
) W) S5 ~0 x8 p2 [8.1.3 子进程内存消耗 203) A. X, z) `2 }# }. d8 p
8.2 内存管理 204
; E7 F$ q, I" ~/ `7 B5 O8.2.1 设置内存上限 204" ^0 T( z8 A/ s" p2 {+ C1 G" A
8.2.2 动态调整内存上限 2043 \6 ?8 q; B: b/ l
8.2.3 内存回收策略 205# c- f2 n5 W1 _& j* c
8.3 内存优化 209
1 I" _9 D5 B+ g/ }6 t8.3.1 redisObject对象 209
: E( f- b7 C! ~, Y1 D5 p; ~8.3.2 缩减键值对象 2109 O# g C6 M5 r# J' F9 i6 _
8.3.3 共享对象池 2112 w$ L( Z4 _8 P0 k
8.3.4 字符串优化 213: `! I- D `, u$ \1 A6 @7 y9 i5 V
8.3.5 编码优化 2163 X- @2 j R% O$ }" K: c, L
8.3.6 控制键的数量 223
4 u+ _8 a* L8 A. y: d8.4 本章重点回顾 2259 O; L- M7 ^* |. Q7 p4 s- p" l( K
第9章 哨兵 226
( J4 W) @- V% E( X9.1 基本概念 2263 Z8 Y/ t; ~8 L* [3 B
9.1.1 主从复制的问题 227
$ T. e3 V2 b7 y9.1.2 高可用 227& K0 Q" f& W) p) `& j; y
9.1.3 Redis Sentinel的高可用性 229/ V* w) Y3 B* i4 K4 e; O: P# F( L3 W
9.2 安装和部署 232
3 L1 L5 ^. q+ v' F9.2.1 部署拓扑结构 232
* ]1 t1 V( }. W8 W0 I4 n: Y8 b9.2.2 部署Redis数据节点 2337 n' c! z. j7 N# G0 l' L& z: i
9.2.3 部署Sentinel节点 234
) X- A$ u) d9 z( g; u9.2.4 配置优化 2362 P% W- X# C- I# I, C: I( }, O8 O4 Y
9.2.5 部署技巧 243& L2 O- @% r+ i
9.3 API2 E ], |2 Z9 R+ ~/ a; N& {( Y
; m$ D$ H2 l& d2 J! c& _; t
/ S' W4 m1 c/ m J M$ a, a/ h百度云盘下载地址(完全免费-绝无套路):! h+ {% r4 q. z5 {! a) A
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|