课程简介
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
本课程将为学员介绍Redis的原理、技术选型和应用实践。深入剖析Redis不同场景下的应用选型,通过基础知识的讲解、关键技术的剖析以及实战应用案例的实践,针对海量结构化数据库和非结构化数据的分布式数据库进行深度剖析。
目标收益
掌握传统RDBMS和非关系型NoSQL分布式数据库的异同
掌握并区分不同非关系型NoSQL分布式数据库的特点
Redis的特点与安装部署
Redis的事务与锁机制
Redis的消息机制
Redis的持久化
Redis的主从复制与Redis Cluster
Redis的故障诊断与优化
培训对象
适合具有一定数据库SQL基础,了解数据库基本概念的学员,并掌握基本的Linux操作。
课程内容
第一天 上午
主题:Redis的前身:MemCached 缓存技术
课程内容:
为什么需要MemCached
Memcached的体系结构
安装MemCached
Memcached的命令行操作
Memcached的Java API
Memcached的路由算法
Memcached的主主复制
使用KeepAlived实现Memcached的HA
主题:Redis简介安装与功能概要
Redis简介和安装配置
Redis的核心配置文件和启动Redis实例
基于Redis的互联网应用的架构
功能概要
内存数据库
持久数据库
并发处理
事务操作
分布式操作
主从备份
集群部署、动态扩展
主题:Redis的数据类型
string类型
hash类型
list类型
set类型
zset类型
第一天 下午
主题:Redis消息的发布与订阅
什么是消息的发布和订阅
Redis PubSub 命令
主题:Redis的常用命令及Java访问接口
键值相关命令
服务器相关命令
Java编程接口
主题:Redis的事务
事务错误
操作乐观锁
WATCH
Redis 脚本和事务
Java中的Redis事务管理
课程实操:部署Redis环境与基本操作、Redis消息机制与实务
第二天 上午
主题:Redis的分片和主从复制功能
什么是Redis的分片
配置Redis的分片
Redis的主从复制
主题:Redis的高级特性
持久化高级原理
AOF 重写
AOF 耐久性
数据恢复
RDB 切换 AOF
备份 Redis 数据
容灾
课程实操:部署和使用Redis的主从复制与分片
第二天 下午
主题:Redis的分布式存储方案:Redis Cluster
Redis Cluster基础
(*)什么是Redis Cluster?
(*)Redis Cluster体系结构和数据分片
部署Redis Cluster
(*)准备工作
(*)安装ruby
(*)部署方式一:使用redis-trib
(*)部署方式二:使用create-cluster
(*)测试Redis Cluster:Java客户端
管理Redis Cluster
(*)基本的Redis Cluster的管理
(*)节点的添加和删除
(*)Redis Cluster节点失败迁移
主题:Redis的故障诊断与优化
如何启用Redis日志
如何分析Redis持久化及其故障诊断
内存设置及其过期策略
Redis的慢查询分析
什么是Redis的管道
Redis阻塞的场景场景
Redis的监控工具
课程实操:使用Redis Cluster实现数据的分布式存储
近期公开课推荐