Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

虚拟化高性能NoSQL存储案例精粹:Redis+Docker 高洪岩 PDF 下载


分享到:
时间:2024-05-03 10:06来源:http://www.java1234.com 作者:转载  侵权举报
《虚拟化高性能NoSQL存储案例精粹——Redis Docker》主要介绍虚拟化平台Docker结合NoSQL、Redis开发的相关知识点。本书使用大量篇幅着重介绍Redis中的五大数据类型的使用方法,包括String、
失效链接处理
虚拟化高性能NoSQL存储案例精粹:Redis+Docker 高洪岩 PDF 下载

下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版

用户下载说明:

电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
https://product.dangdang.com/29196895.html
 

相关截图:



资料简介:
《虚拟化高性能NoSQL存储案例精粹——Redis Docker》主要介绍虚拟化平台Docker结合NoSQL、Redis开发的相关知识点。本书使用大量篇幅着重介绍Redis中的五大数据类型的使用方法,包括String、Hash、List、Set和Sorted Set,还介绍了使用Redis实现高可用的哨兵、复制、集群、高性能数据导入的流水线,以及保障数据操作原子性的事务。另外,本书对Redis中的数据持久化方案AOF和RDB也进行了详细介绍,并对HyperLogLog、GEO和Pub/Sub的相关知识进行了总结,结合实战经验丰富了与内存淘汰策略相关的内容。虚拟化技术使用Docker实现,包括Docker环境的搭建、常见命令的使用、对镜像和容器的操作,以及常见技术的容器的创建。

《虚拟化高性能NoSQL存储案例精粹——Redis Docker》适合所有使用Redis进行编程的开发人员、服务器和数据存储系统开发人员、分布式系统架构师等互联网技术程序员阅读。



资料目录:
第 1章 搭建Redis开发环境 1

1.1 什么是NoSQL 1

1.2 为什么使用NoSQL 1

1.3 NoSQL的优势 2

1.4 NoSQL的劣势 2

1.5 Redis介绍及使用场景 3

1.6 Redis没有Windows版本 4

1.7 搭建Linux环境 4

1.7.1 下载并安装VirtualBox 4

1.7.2 安装Ubuntu 5

1.7.3 重置root密码 8

1.7.4 配置阿里云下载源 8

1.7.5 安装Vim文本编辑器 9

1.7.6 设置双向复制粘贴和安装增强功能 10

1.7.7 安装ifconfig命令 13

1.8 搭建Redis环境 13

1.8.1 下载Redis 13

1.8.2 在Ubuntu中搭建Redis环境 13

1.8.3 在CentOS中搭建Redis环境 17

1.9 启动Redis服务 19

1.9.1 redis-server 19

1.9.2 redis-server redis.conf 20

1.9.3 redis-server & 20

1.10 停止服务 20

1.11 测试Redis服务性能 21

1.12 更改Redis服务端口号 22

1.12.1 在命令行中指定 22

1.12.2 在redis.conf配置文件中指定 22

1.13 对Redis设置密码 23

1.14 连接远程Redis服务器 24

1.15 使用set和get命令存取值与中文的处理 24

1.16 设置key名称的建议 25

1.17 使用Redis Desktop Manager图形界面工具管理Redis 26

1.18 在Java中操作Redis 27

1.19 使用--bigkeys参数找到大key 28

1.20 在redis.conf配置文件中使用include导入其他配置文件 29

第 2章 Connection类型命令 30

2.1 auth命令 30

2.1.1 测试案例 30

2.1.2 程序演示 32

2.2 echo命令 32

2.2.1 测试案例 32

2.2.2 程序演示 33

2.3 ping命令 33

2.3.1 测试案例 34

2.3.2 程序演示 34

2.4 quit命令 35

2.4.1 测试案例 35

2.4.2 程序演示 35

2.5 select命令 36

2.5.1 测试案例 37

2.5.2 程序演示 37

2.6 swapdb命令 38

2.6.1 测试案例 38

2.6.2 程序演示 38

2.7 验证Pool类中的连接属于长连接 39

2.8 增加Redis连接数 40

第3章 String类型命令 42

3.1 append命令 42

3.1.1 测试案例 42

3.1.2 程序演示 43

3.2 incr命令 43

3.2.1 测试案例 43

3.2.2 程序演示 44

3.3 incrby命令 44

3.3.1 测试案例 45

3.3.2 程序演示 45

3.4 incrbyfloat命令 45

3.4.1 测试案例 46

3.4.2 程序演示 47

3.5 decr命令 48

3.5.1 测试案例 48

3.5.2 程序演示 48

3.6 decrby命令 49

3.6.1 测试案例 49

3.6.2 程序演示 49

3.7 set和get命令 50

3.7.1 不存在key和存在key发生值覆盖的情况 51

3.7.2 使用ex实现指定时间(秒)后执行命令 51

3.7.3 使用px实现指定时间(毫秒)后执行命令 52

3.7.4 使用nx当key不存在时才赋值 53

3.7.5 使用xx当key存在时才赋值 54

3.7.6 set命令具有删除TTL的效果 55

3.8 strlen命令 56

3.8.1 测试案例 57

3.8.2 程序演示 57

3.9 setrange命令 57

3.9.1 测试案例 58

3.9.2 程序演示 59

3.10 getrange命令 59

3.10.1 测试案例 60

3.10.2 程序演示 60

3.11 setbit和getbit命令 60

3.11.1 测试案例 61

3.11.2 程序演示 62

3.12 bitcount命令 63

3.12.1 测试案例 63

3.12.2 程序演示 64

3.13 bitop命令 64

3.13.1 and操作 65

3.13.2 or操作 66

3.13.3 xor操作 68

3.13.4 not操作 69

3.14 getset命令 70

3.14.1 测试案例 70

3.14.2 程序演示 70

3.15 msetnx命令 71

3.15.1 测试案例 71

3.15.2 程序演示 72

3.16 mset命令 73

3.16.1 测试案例 73

3.16.2 程序演示 74

3.17 mget命令 74

3.17.1 测试案例 75

3.17.2 程序演示 75

3.18 bitfield命令 76

3.18.1 set、get、incrby子命令的测试 76

3.18.2 使用#方便处理“组数据” 78

3.18.3 overflow子命令的测试 80

3.19 bitpos命令 88

3.19.1 测试案例 89

3.19.2 程序演示 89

3.20 “秒杀”核心算法实现 90

3.21 使用Redisson框架实现分布式锁 92

3.22 处理慢查询 93

3.22.1 测试案例 93

3.22.2 程序演示 95

第4章 Hash类型命令 97

4.1 hset和hget命令 97

4.1.1 测试案例 97

4.1.2 程序演示 98

4.2 hmset和hmget命令 99

4.2.1 测试案例 99

4.2.2 程序演示 100

4.3 hlen命令 101

4.3.1 测试案例 101

4.3.2 程序演示 101

4.4 hdel命令 102

4.4.1 测试案例 102

4.4.2 程序演示 103

4.5 hexists命令 104

4.5.1 测试案例 104

4.5.2 程序演示 104

4.6 hincrby和hincrbyfloat命令 105

4.6.1 测试案例 105

4.6.2 程序演示 105

4.7 hgetall命令 106

4.7.1 测试案例 106

4.7.2 程序演示 107

4.8 hkeys和hvals命令 107

4.8.1 测试案例 108

4.8.2 程序演示 108

4.9 hsetnx命令 109

4.9.1 测试案例 110

4.9.2 程序演示 110

4.10 hstrlen命令 110

4.10.1 测试案例 111

4.10.2 程序演示 111

4.11 hscan命令 111

4.11.1 测试案例 112

4.11.2 程序演示 113

4.12 使用sort命令对散列进行排序 114

4.12.1 测试案例 114

4.12.2 程序演示 115

第5章 List类型命令 118

5.1 rpush、llen和lrange命令 118

5.1.1 测试案例 119

5.1.2 程序演示 119

5.2 rpushx命令 120

5.2.1 测试案例 120

5.2.2 程序演示 121

5.3 lpush命令 122

5.3.1 测试案例 122

5.3.2 程序演示 122

5.4 lpushx命令 123

5.4.1 测试案例 123

5.4.2 程序演示 124

5.5 rpop命令 125

5.5.1 测试案例 125

5.5.2 程序演示 125

5.6 lpop命令 126

5.6.1 测试案例 126

5.6.2 程序演示 127

5.7 rpoplpush命令 127

5.7.1 测试案例 128

5.7.2 程序演示 128

5.8 lrem命令 130

5.8.1 测试案例 130

5.8.2 程序演示 131

5.9 lset命令 133

5.9.1 测试案例 133

5.9.2 程序演示 133

5.10 ltrim命令 134

5.10.1 测试案例 134

5.10.2 程序演示 134

5.11 linsert命令 135

5.11.1 测试案例 135

5.11.2 程序演示 136

5.12 lindex命令 137

5.12.1 测试案例 137

5.12.2 程序演示 137

5.13 blpop命令 138

5.13.1 监测一个key 138

5.13.2 监测多个key 140

5.13.3 测试阻塞时间 142

5.13.4 先来先得 142

5.14 brpop命令 145

5.15 brpoplpush命令 145

5.15.1 源列表包括元素时的运行效果 145

5.15.2 呈阻塞的效果 147

5.16 使用sort命令对列表进行排序 149

5.16.1 按数字大小进行正/倒排序 149

5.16.2 按ASCII值进行正/倒排序 151

5.16.3 实现分页 153

5.16.4 通过外部key对应value的大小关系排序 154

5.16.5 通过外部key排序列表并显示value 156

5.16.6 将排序结果存储到其他的key 160

5.16.7 跳过排序 162

5.17 List类型命令的常见使用模式 165

第6章 Set类型命令 166

6.1 sadd、smembers和scard命令 166

6.1.1 测试案例 166

6.1.2 程序演示 167

6.2 sdiff和sdiffstore命令 168

6.2.1 测试案例 168

6.2.2 程序演示 169

6.3 sinter和sinterstore命令 170

6.3.1 测试案例 170

6.3.2 程序演示 171

6.4 sismember命令 172

6.4.1 测试案例 172

6.4.2 程序演示 172

6.5 smove命令 173

6.5.1 测试案例 173

6.5.2 程序演示 174

6.6 srandmember命令 175

6.6.1 测试案例 175

6.6.2 程序演示 176

6.7 spop命令 178

6.7.1 测试案例 178

6.7.2 程序演示 179

6.8 srem命令 181

6.8.1 测试案例 181

6.8.2 程序演示 181

6.9 sunion和sunionstore命令 182

6.9.1 测试案例 182

6.9.2 程序演示 183

6.10 sscan命令 184

6.10.1 测试案例 184

6.10.2 程序演示 185

第7章 Sorted Set类型命令 189

7.1 zadd、zrange和zrevrange命令 189

7.1.1 添加元素并返回指定索引范围的元素 190

7.1.2 更新score导致重排序并返回新添加元素的个数 192

7.1.3 使用ch参数 193

7.1.4 一起返回元素和score 196

7.1.5 score可以是双精度浮点数 198

7.1.6 使用XX参数 199

7.1.7 使用NX参数 201

7.1.8 使用incr参数 203

7.1.9 测试字典排序 203

7.1.10 倒序显示 204

7.2 zcard命令 206

7.2.1 测试案例 206

7.2.2 程序演示 206

7.3 zcount命令 207

7.3.1 测试案例 207

7.3.2 程序演示 208

7.4 zincrby命令 209

7.4.1 测试案例 209

7.4.2 程序演示 209

7.5 zunionstore命令 210

7.5.1 测试合并的效果 211

7.5.2 参数weights的使用 212

7.5.3 参数aggregate的使用 214

7.6 zinterstore命令 217

7.6.1 测试交集的效果 217

7.6.2 参数weights的使用 219

7.6.3 参数aggregate的使用 221

7.7 zrangebylex、zrevrangebylex和zremrangebylex命令 223

7.7.1 测试“ ”和“ ”参数 225

7.7.2 测试以“[”开始的参数1 227

7.7.3 测试以“[”开始的参数2 229

7.7.4 测试以“[”开始的参数3 230

7.7.5 测试limit分页 231

7.7.6 测试以“(”开始的参数1 233

7.7.7 测试以“(”开始的参数2 235

7.7.8 使用zrevrangebylex命令实现倒序查询 236

7.7.9 使用zremrangebylex命令删除元素 238

7.8 zlexcount命令 239

7.8.1 测试案例 239

7.8.2 程序演示 239

7.9 zrangebyscore、zrevrangebyscore和zremrangebyscore命令 241

7.9.1 测试案例 241

7.9.2 程序演示 242

7.10 zpopmax和zpopmin命令 245

7.10.1 测试案例 246

7.10.2 程序演示 247

7.11 bzpopmax和bzpopmin命令 249

7.12 zrank、zrevrank和zremrangebyrank命令 249

7.12.1 测试案例 249

7.12.2 程序演示 250

7.13 zrem命令 252

7.13.1 测试案例 252

7.13.2 程序演示 252

7.14 zscore命令 253

7.14.1 测试案例 253

7.14.2 程序演示 253

7.15 zscan命令 254

7.15.1 测试案例 254

7.15.2 程序演示 255

7.16 sort命令 256

7.16.1 测试案例 256

7.16.2 程序演示 257

第8章 Key类型命令 259

8.1 del和exists命令 259

8.1.1 测试案例 259

8.1.2 程序演示 260

8.2 unlink命令 261

8.2.1 测试案例 261

8.2.2 程序演示 262

8.3 rename命令 263

8.3.1 测试案例 263

8.3.2 程序演示 264

8.4 renamenx命令 265

8.4.1 测试案例 265

8.4.2 程序演示 265

8.5 keys命令 267

8.5.1 测试搜索模式: 268

8.5.2 测试搜索模式:* 269

8.5.3 测试搜索模式:[] 270

8.5.4 测试搜索模式:[^] 272

8.5.5 测试搜索模式:[a-b] 273

8.6 type命令 274

8.6.1 测试案例 274

8.6.2 程序演示 275

8.7 randomkey命令 275

8.7.1 测试案例 275

8.7.2 程序演示 276

8.8 dump和restore命令 277

8.8.1 测试序列化和反序列化 278

8.8.2 测试restore命令的replace参数 279

8.8.3 更改序列化值造成数据无法还原 281

8.9 expire和ttl命令 282

8.9.1 测试key存在和不存在的ttl命令返回值 283

8.9.2 使用expire和ttl命令 284

8.9.3 rename命令不会删除TTL 286

8.9.4 del、set、getset和*store命令会删除TTL 287

8.9.5 改变value不会删除TTL 288

8.9.6 expire命令会重新设置新的TTL 290

8.10 pexpire和pttl命令 291

8.10.1 测试案例 292

8.10.2 程序演示 292

8.11 expireat命令 293

8.11.1 测试案例 294

8.11.2 程序演示 295

8.12 pexpireat命令 296

8.12.1 测试案例 296

8.12.2 程序演示 297

8.13 persist命令 298

8.13.1 测试案例 299

8.13.2 程序演示 299

8.14 move命令 300

8.14.1 测试案例 300

8.14.2 程序演示 301

8.15 object命令 302

8.15.1 object refcount key命令的使用 303

8.15.2 object encoding key命令的使用 305

8.15.3 object idletime key命令的使用 306

8.15.4 object freq key命令的使用 308

8.15.5 object help命令的使用 309

8.16 migrate命令 309

8.16.1 测试案例 310

8.16.2 程序演示 311

8.17 scan命令 312

8.17.1 测试案例 313

8.17.2 程序演示 314

8.18 touch命令 315

8.18.1 测试案例 315

8.18.2 程序演示 316

第9章 HyperLogLog、Bloom Filter类型命令及Redis-Cell模块 318

9.1 HyperLogLog类型命令 318

9.1.1 pfadd和pfcount命令 318

9.1.2 pfmerge命令 320

9.1.3 测试误差 321

9.2 Bloom Filter类型命令 322

9.2.1 在Redis中安装RedisBloom模块 322

9.2.2 bf.reserve、bf.add和bf.info命令 324

9.2.3 bf.madd命令 328

9.2.4 bf.insert命令 330

9.2.5 bf.exists命令 332

9.2.6 bf.mexists命令 333

9.2.7 验证布隆过滤器有误判 334

9.3 使用Redis-Cell模块实现限流 335

9.3.1 在Redis中安装Redis-Cell模块 335

9.3.2 测试案例 336

9.3.3 程序演示 338

第 10章 GEO类型命令 340

10.1 geoadd和geopos命令 340

10.1.1 测试案例 340

10.1.2 程序演示 341

10.2 geodist命令 342

10.2.1 测试案例 342

10.2.2 程序演示 343

10.3 geohash命令 343

10.3.1 测试案例 343

10.3.2 程序演示 344

10.4 georadius命令 345

10.4.1 测试距离单位m、km、ft、mi 345

10.4.2 测试withcoord、withdist、withhash 346

10.4.3 测试asc、desc 348

10.4.4 测试count 349

10.4.5 测试store和storedist 350

10.5 georadiusbymember命令 351

10.5.1 测试距离单位m、km、ft和mi 351

10.5.2 测试withcoord、withdist和withhash 352

10.5.3 测试asc和desc 353

10.5.4 测试count 355

10.5.5 测试store和storedist 356

10.6 删除GEO数据类型中的元素 357

10.6.1 测试案例 357

10.6.2 程序演示 357

第 11章 Pub/Sub类型命令 359

11.1 publish和subscribe命令 360

11.1.1 测试案例 360

11.1.2 程序演示 361

11.2 unsubscribe命令 364

11.2.1 测试案例 364

11.2.2 程序演示 364

11.3 psubscribe命令 366

11.3.1 模式 的使用 366

11.3.2 模式*的使用 369

11.3.3 模式[xy]的使用 372

11.4 punsubscribe命令 374

11.4.1 测试案例 374

11.4.2 程序演示 374

11.5 pubsub命令 376

11.5.1 pubsub channels [pattern] 子命令 376

11.5.2 pubsub numsub [channel 1…channel N] 子命令 378

11.5.3 pubsub numpat子命令 381

第 12章 Stream类型命令 384

12.1 xadd命令 385

12.1.1 自动生成ID 385

12.1.2 自定义ID 389

12.1.3 流存储的元素具有顺序性 392

12.1.4 使用maxlen限制流的长度 394

12.1.5 使用maxlen ~ 限制流的近似长度 396

12.2 xlen命令 398

12.2.1 测试案例 398

12.2.2 程序演示 398

12.3 xdel命令 399

12.3.1 基本使用方法 399

12.3.2 添加操作的成功条件 400

12.4 xrange命令 402

12.4.1 使用 和 取得全部元素 403

12.4.2 自动补全特性 404

12.4.3 使用count限制返回元素的个数 407

12.4.4 迭代/分页流 408

12.4.5 取得单一元素 410

12.5 xrevrange命令 411

12.5.1 使用 和 取得全部元素 412

12.5.2 迭代/分页流 413

12.6 xtrim命令 416

12.6.1 测试案例 416

12.6.2 程序演示 416

12.7 xread命令 417

12.7.1 实现元素读取 418

12.7.2 从多个流中读取元素 421

12.7.3 实现count 425

12.7.4 测试count 427

12.7.5 实现阻塞消息读取并结合 431

12.8 消费者组的使用 434

12.8.1 与消费者组有关的命令 436

12.8.2 xgroup create和xinfo groups命令 437

12.8.3 xgroup setid命令 441

12.8.4 xgroup destroy命令 443

12.8.5 xinfo stream命令 445

12.8.6 xreadgroup和xinfo consumers命令 447

12.8.7 在xreadgroup命令中使用>或指定ID值 450

12.8.8 xack和xpending命令 458

12.8.9 xgroup delconsumer命令 467

12.8.10 xreadgroup noack命令 471

12.8.11 xclaim命令 475

第 13章 Pipelining和Transaction类型命令 485

13.1 流水线 485

13.1.1 不使用流水线的运行效率 486

13.1.2 使用流水线的运行效率 486

13.2 事务 487

13.2.1 multi和exec命令 487

13.2.2 出现语法错误导致全部命令取消执行 489

13.2.3 出现运行错误导致错误命令取消执行 490

13.2.4 discard命令 492

13.2.5 watch命令 493

13.2.6 unwatch命令 495

第 14章 数据持久化 499

14.1 使用RDB实现数据持久化 499

14.1.1 自动方式:save配置选项 499

14.1.2 手动方式:使用save命令 503

14.1.3 手动方式:使用bgsave命令 505

14.1.4 小结 506

14.2 使用AOF实现数据持久化 506

14.2.1 实现AOF持久化的功能 506

14.2.2 重写机制 508

14.2.3 小结 510

14.3 使用RDB和AOF混合实现数据持久化 510

14.4 使用shutdown命令正确停止Redis服务 511

第 15章 复制 512

15.1 实现复制 513

15.1.1 在redis.conf配置文件中加入replicaof {masterHost} {masterPort}配置 513

15.1.2 对redis-server命令传入--replicaof {masterHost} {masterPort}参数 516

15.1.3 在副本节点中使用命令replicaof {masterHost} {masterPort} 517

15.1.4 使用role命令获得服务器角色信息 518

15.2 取消复制 519

15.3 手动操作实现故障转移 520

第 16章 哨兵 521

16.1 搭建哨兵环境 522

16.1.1 创建配置文件 522

16.1.2 搭建Master服务器环境 523

16.1.3 搭建Replica服务器环境 523

16.1.4 使用info replication命令查看Master-Replica运行状态 523

16.1.5 搭建哨兵环境 525

16.1.6 配置的解释 526

16.1.7 创建哨兵容器 527

16.1.8 使用info sentinel命令查看哨兵运行状态 527

16.1.9 使用sentinel reset mymaster命令重置哨兵环境 528

16.2 监视多个Master服务器 528

16.3 哨兵常用命令 529

16.4 实现故障转移 530

16.5 强制实现故障转移 532

16.6 案例 534

第 17章 集群 536

17.1 使用虚拟槽实现数据分片 537

17.2 自动搭建本地Redis集群环境 538

17.2.1 使用create-cluster start命令启动Redis集群实例 539

17.2.2 使用create-cluster stop命令停止Redis集群实例 539

17.2.3 使用create-cluster create命令创建Redis集群 540

17.2.4 使用create-cluster watch命令显示第 一个服务器的前30行输出信息 541

17.2.5 使用create-cluster tail命令查看指定服务器的日志信息 542

17.2.6 在Redis集群中添加与取得数据 542

17.2.7 使用create-cluster clean命令删除所有实例数据、日志和配置文件 543

17.2.8 使用create-cluster clean-logs命令只删除实例日志文件 544

17.3 重定向操作 544

17.4 使用readonly和readwrite命令启用和禁用Replica服务器可读 545

17.5 手动搭建分布式Redis集群环境 546

17.5.1 准备配置文件并启动各服务器 546

17.5.2 使用cluster meet命令实现服务器间握手 547

17.5.3 使用cluster nodes命令查看Redis集群中的服务器信息 549

17.5.4 使用cluster addslots命令分配槽 549

17.5.5 使用cluster reset命令重置服务器状态 550

17.5.6 向Redis集群中保存和获取数据 551

17.5.7 在Redis集群中添加Replica服务器 551

17.6 使用cluster myid命令获得当前服务器ID 553

17.7 使用cluster replicas命令查看指定Master服务器下的Replica服务器信息 554

17.8 使用cluster slots命令查看槽与服务器关联的信息 554

17.9 使用cluster keyslot命令查看key所属槽 554

17.10 案例 555

第 18章 内存淘汰策略 556

18.1 内存淘汰策略简介 556

18.2 内存淘汰策略:noeviction 556

18.3 内存淘汰策略:volatile-lru 557

18.4 内存淘汰策略:volatile-lfu 559

18.5 内存淘汰策略:volatile-random 559

18.6 使用淘汰策略:volatile-ttl 560

18.7 使用淘汰策略:allkeys-lru 562

18.8 内存淘汰策略:allkeys-lfu 564

18.9 使用淘汰策略:allkeys-random 564

第 19章 使用Docker实现容器化 565

19.1 容器 565

19.2 使用Docker的经典场景 566

19.3 Docker的介绍 568

19.4 Docker镜像的介绍 569

19.5 Docker由4部分组成 569

19.6 Docker具有跨平台特性 570

19.7 Docker的优点 570

19.8 moby和docker-ce与docker-ee之间的关系 570

19.9 在Ubuntu中搭建Docker环境 571

19.9.1 确认有没有安装Docker 571

19.9.2 使用官方的sh脚本安装Docker 571

19.9.3 确认有没有成功安装Docker 571

19.9.4 启动和停止Docker服务与查看Docker版本 572

19.10 操作Docker服务与容器 573

19.10.1 使用docker info查看Docker信息 573

19.10.2 根据Ubuntu基础镜像文件创建容器并运行容器 574

19.10.3 使用sudo docker ps和sudo docker ps -a命令 580

19.10.4 使用docker logs命令 580

19.10.5 使用sudo docker rename oldName newName命令对容器重命名 581

19.10.6 使用docker start命令启动容器 581

19.10.7 使用docker attach命令关联容器 583

19.10.8 使用docker exec命令在容器中执行命令 584

19.10.9 使用docker restart命令重新启动容器 584

19.10.10 使用docker cp命令复制文件到容器中 584

19.10.11 解决Docker显示中文乱码 585

19.10.12 安装ifconfig命令 586

19.11 镜像文件操作 586

19.11.1 使用docker images命令获得镜像文件信息 586

19.11.2 镜像文件的标识 587

19.11.3 Dockerfile与docker build命令介绍 587

19.11.4 为Ubuntu添加快捷菜单创建文件 588

19.11.5 创建简Dockerfile脚本 590

19.11.6 使用docker build命令创建镜像文件——仓库名/镜像文件名 590

19.11.7 使用docker build命令创建镜像文件——仓库名/镜像文件名:标记 591

19.11.8 使用docker build命令创建多个镜像文件——仓库名/镜像文件名:标记 591

19.11.9 使用docker rmi命令删除镜像文件 592

19.12 容器管理控制台portainer 592

19.12.1 使用docker search命令搜索镜像文件 592

19.12.2 使用docker pull命令拉取镜像文件 593

19.12.3 创建数据卷 593

19.12.4 端口映射与运行portainer 594

19.12.5 进入portainer查看Docker状态信息 594

19.13 Docker组件 596

19.14 网络模式:桥接模式 596

19.14.1 测试桥接模式 597

19.14.2 设置容器使用固定IP地址 598

19.15 网络模式:主机模式 600

19.16 通过网络别名实现容器之间通信 600

19.17 常用软件的Docker镜像文件与容器 601

19.17.1 创建JDK容器 601

19.17.2 创建Tomcat容器 604

19.17.3 创建MySQL容器 606

19.17.4 创建Redis容器 608

19.17.5 创建ZooKeeper容器 609

19.17.6 创建Oracle 11g容器 610

19.18 启动Docker服务后容器随之启动与取消 611

第 20章 Docker中搭建Redis高可用环境 612

20.1 复制 612

20.1.1 在redis.conf配置文件中加入replicaof {masterHost} {masterPort}配置 612

20.1.2 对redis-server命令传入--replicaof {masterHost} {masterPort}参数 614

20.1.3 在Replica服务器使用replicaof {masterHost} {masterPort}命令 615

20.2 哨兵 616

20.2.1 搭建哨兵环境 616

20.2.2 创建配置文件 616

20.2.3 搭建Master服务器环境 616

20.2.4 搭建Replica环境 617

20.2.5 使用info replication命令查看Master-Replica运行状态 618

20.2.6 搭建哨兵环境 619

20.2.7 创建哨兵容器 620

20.2.8 使用info sentinel命令查看哨兵运行状态 621

20.2.9 使用sentinel reset mymaster命令重置哨兵环境 621

20.3 集群 621

20.3.1 准备配置文件并启动各服务器 621

20.3.2 使用cluster meet命令实现服务器间握手 623

20.3.3 使用cluster nodes命令查看Redis集群中的服务器信息 623

20.3.4 使用cluster addslots命令分配槽 624

20.3.5 向Redis集群中保存和获取数据 625

20.3.6 在Redis集群中添加Replics服务器 626

第 21章 Docker中实现数据持久化 628

21.1 使用RDB实现数据持久化 628

21.1.1 自动方式:save配置选项 628

21.1.2 手动方式:使用save命令 630

21.1.3 手动方式:使用bgsave命令 630

21.2 使用AOF实现数据持久化 631

21.3 使用RDB和AOF混合实现数据持久化 632

第 22章 ACL类型命令 634

22.1 acl list命令 634

22.1.1 测试案例 634

22.1.2 程序演示 635

22.2 为默认用户设置密码并查看ACL信息 635

22.3 acl save和acl load命令 636

22.3.1 测试案例 636

22.3.2 程序演示 637

22.4 acl users命令 637

22.4.1 测试案例 638

22.4.2 程序演示 638

22.5 acl getuser命令 638

22.5.1 测试案例 638

22.5.2 程序演示 639

22.6 acl deluser命令 640

22.6.1 测试案例 640

22.6.2 程序演示 640

22.7 acl cat命令 641

22.7.1 测试案例 642

22.7.2 程序演示 642

22.8 acl cat 命令 643

22.8.1 测试案例 643

22.8.2 程序演示 644

22.9 acl genpass命令 644

22.9.1 测试案例 645

22.9.2 程序演示 645

22.10 acl whoami命令 645

22.10.1 测试案例 646

22.10.2 程序演示 646

22.11 acl log命令 646

22.11.1 测试案例 646

22.11.2 程序演示 648

22.12 验证使用setuser命令创建的用户默认无任何权限 648

22.13 使用setuser on/off启用或者禁用用户 649

22.14 使用 
 
和?C  
为用户设置执行命令的权限 650

 
22.15 使用 @为用户设置能执行指定命令类型的权限 651

 
22.16 使用?C@为用户设置能执行指定命令类型的权限 651

 
22.17 使用   
|为用户添加能执行的子命令权限 652

 
22.18 使用 @all和?C@all为用户添加或删除全部命令的执行权限 653

 
22.19 使用~pattern限制能访问key的模式 654

 
22.20 使用resetkeys清除所有key的访问模式 655

 
22.21 使用> 和<为用户设置或删除明文密码 655

 
22.22 使用#和!为用户设置或删除SHA-256密码 656

 
22.23 使用nopass和resetpass为用户设置无密码或清除所有密码 657

 
22.24 使用reset命令重置用户ACL信息 658




------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐