Redis 怎么学
- 整体了解 Redis 是什么?
- Redis 怎么用?如何操作 Redis 中的数据结构?
- 典型应用和典型操作 关键特性阻塞连接
- 读 Redis 源码
应用场景
对象数据类型与底层实现
注意点:
- 为什么
dict
可以实现set
? - 扩展,为什么 Redis 对象数据类型有
多种实现
呢?怎么考虑?
相同数量级的数据hash 与 zset 存储的空间占用情况
基于 Redis 实现限流功能
- 固定窗口限流存在什么问题?
- 滑动窗口仍然存在什么问题?怎么实现?
- 漏斗限流原理实现?
Redis 是单线程?单线程指什么?为什么快?
Redis 怎么实现分布式锁?有哪些缺陷?
- 什么是高可用?redis 怎么实现高可用?
- MySQL 、Redis、zt 以及 etcd 比较?
Redis
- Redis 是Remote Dictionary Service 的简称;也是远程字典服务。
- Redis 是内存数据库,KV 数据库,数据结构数据库。
- 严格的有序请求回应模式 ,与MySQL相同,Mongo不严格有序。
- 支持16个数据库,但 Redis 为单线程一次只能操作一个数据库,如果不做选择默认选择 select 0;
redis存储结构(KV)
常用数据结构
string
- string 是安全的二进制字符串,所谓的安全是指不会被特殊字符隔断的字符串。如
hello word\0 hello best myself
,可以存储图片,二进制协议等二进制数据。- value : string 可以作为位图来使用.
#常用命令格式:命令 + key + val 命令返回值:OK, 0 1 区别 返回OK:这个命令是否执行成功;0 ,1: 操作结果是不是成功
list
关键特性:#
#它是 RPOP 的阻塞版本,因为这个命令会在给定list无法弹出任何元素的时候阻塞连接
BRPOP key timeout # 超时时间 + 延时队列
充电站
推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习