记一次部门的技术分享

背景:2022-08-06 部门的技术分享轮到我了,分享主题是关于 redis 的,要求时长1小时左右


其实分享的内容偏实战多一点,没涉及太多底层,因为是整个部门参与的,纯技术的话,就没太多测试,产品,运维的事情了……


废话不多说,直接记录一下分享的内容吧


1、redis 简介,应用场景 (5min)

1) 一句话概述:开源的分布式内存K-V类型的数据库

2) 与MySQL、Oracle 等传统数据库相比 => 突出高性能、健壮性

3) 与本地缓存相比 => 突出分布式场景、数据稳定性、安全性

4) 与其他的分布式缓存数据库(memcached)相比 => 突出安全性、种类繁多

5) 在现在的微服务架构下的重要性以及担任的角色、解决的问题

2、redis 的发展历程,大版本的主要差异 (5min)

1) 单机部署 - 主从部署 - setinel 部署 - cluster 部署每种部署各自的使用场景以及优缺点单机:开发

主从:提高读性能

setinel:高可用cluster:写能力、内存容量、健壮性、高可用

2) 大版本的差异

3.2 之前 从库有一个致命的bug

4.x 有了集群,但是都需要依赖 redis-trib.rb

5.x redis-cli 集成了 redis-trib.rb 的功能、对内存的优化、提高redis的并发能力

3、redis 常用的数据结构,每个数据结构的特点以及应用场景,还有就是开发中容易出现的问题 (20min)

1) strings

2) hashes

3) lists

4) sets

5) zsets

6) bit maps

7) geo

8) hyperloglog

4、redis 集群的工作原理 (5min)

1) redis 槽的概念以及划分

2) 一个写请求过来 客户端-redis集群-客户端 分别做了什么

3) 一个读请求过来 客户端-redis集群-客户端 分别做了什么

5、redis 的持久化的特点以及使用场景(5 min)

1)、主要的作用以及工作原理

2)、 RDB : 备份、恢复

3)、AOF:备份、发生故障时减少数据丢失

6、redis 在日常开发者经常遇到的问题以及容易踩的坑 (10min)

1)、分布式锁

2)、代码规划

3)、数据不一致问题定位以及解决方案

7、互动交流时间 (10min)

1)、运维:如果master挂了,slave上去了,如何查看有没有数据丢失?怎么恢复?

2)、开发:如果需要写入或者读取大量的数据,如何开发?

3)、运维:扩展集群,会不会影响现有的系统、需不需要停机扩展?

4)、PM:如何查看大KEY、如何处理大KEY?

5)、如果集群或者某个节点内存不够了,会发生什么/


由于时间有限,只能做个简单的记录,详情如果有需要,可以私聊或者后面我再补上。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章