杭州酒店网站设计公司推荐,浙江均泰建设有限公司网站,建设银行网站首页打,教我做网站击穿
概念#xff1a;在Redis获取某一key时, 由于key不存在, 而必须向DB发起一次请求的行为, 称为“Redis击穿”。 引发击穿的原因#xff1a;
第一次访问恶意访问不存在的keyKey过期
合理的规避方案#xff1a;
服务器启动时, 提前写入规范key的命名, 通过中间件拦截对…击穿
概念在Redis获取某一key时, 由于key不存在, 而必须向DB发起一次请求的行为, 称为“Redis击穿”。 引发击穿的原因
第一次访问恶意访问不存在的keyKey过期
合理的规避方案
服务器启动时, 提前写入规范key的命名, 通过中间件拦截对某些高频访问的Key设置合理的TTL或永不过期
雪崩
概念Redis缓存层由于某种原因宕机后所有的请求会涌向存储层短时间内的高并发请求可能会导致存储层挂机称之为“Redis雪崩”。
合理的规避方案
使用Redis集群限流
Redis在产品开发中的应用实践
为此我很高兴的为大家介绍葡萄城架构师Jim将在2019-11-27 1400 为大家带来一场公开课其中 Jim除了为大家讲解Redis的基础同时也会实际演示他所在的项目组使用Redis时碰到的问题以及解决方案对于刚接触Redis的同学来说更具参考意义和学习价值欢迎大家届时参加公开课地址微吼直播。
后端采用nodeJS使用Azure的Redis服务Redis的使用场景 - token缓存, 用于令牌验证 - IP白名单
碰到的问题
“网络抖动”或者Redis服务异常导致Redis访问超时Redis客户端驱动稳定性问题 - 连接池 “Broken connection” 问题 - JS的Promise引出的Redis重置问题
下面我们来简单了解一下Redis的进阶知识。
进阶之Redis协议简介
Redis客户端通讯协议RESP(Redis Serialization Protocol)其特点是
简单解析速度快可读性好
Redis集群内部通讯协议RECP(Redis Cluster Protocol ) 其特点是
每一个node两个tcp 连接一个负责client-server通讯(P: 6379)一个负责node之间通讯(P: 10000 6379) Redis协议支持的数据类型
简单字符(首字节: “”) “OK\r\n”
错误(首字节: “-”) “-error msg\r\n”
数字(首字节: “:”) “:123\r\n”
批量字符(首字节: “$”) “hello\r\nWhoa re you\r\n”
数组(首字节: “*”) “*0\r\n” “*-1\r\n”
除了Redis还有什么NoSQL型数据库
市面上类似于Redis同样是NoSQL型的数据库有很多如下图所示除了Redis还有MemCache、Cassadra和Mongo。下面我们就分别对这几个数据库做一下简要的介绍 Memcache这是一个和Redis非常相似的数据库但是它的数据类型没有Redis丰富。Memcache由LiveJournal的Brad Fitzpatrick开发作为一套分布式的高速缓存系统被许多网站使用以提升网站的访问速度对于一些大型的、需要频繁访问数据库的网站访问速度的提升效果十分显著。
Apache Cassandra社区内一般简称为C*这是一套开源分布式NoSQL数据库系统。它最初由Facebook开发用于储存收件箱等简单格式数据集Google BigTable的数据模型与Amazon Dynamo的完全分布式架构于一身。Facebook于2008将 Cassandra 开源由于其良好的可扩展性和性能被 Apple、Comcast、Instagram、Spotify、eBay、Rackspace、Netflix等知名网站所采用成为了一种流行的分布式结构化数据存储方案。
MongoDB是一个基于分布式文件存储、面向文档的NoSQL数据库由C编写旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品是非关系数据库当中功能最丰富最像关系型数据库的它支持的数据结构非常松散是一种类似json的BSON格式。