avatar
文章
55
标签
82
分类
3
首页
时间轴
标签
分类
清单
  • 音乐
友链
君莫笑R系列-2 返回首页
首页
时间轴
标签
分类
清单
  • 音乐
友链

R系列-2

发表于2021-11-24|更新于2025-07-08|技术
|浏览量:
文章作者: King
文章链接: http://example.com/2021/11/24/R%E7%B3%BB%E5%88%97-2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 君莫笑!
Redis缓存
cover of previous post
上一篇
P2P通信原理与实现
当今互联网到处存在着一些中间件(Middle Boxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信。 目前部署的中间件多都是在C/S架构(client/server)上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求. 大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接, 除非经过中间件管理员特殊配置。 前言 在中间件为常见的NAPT的情况下(也是本文主要讨论的),内网中的客户端没有单独的公网IP地址, 而是通过NAPT转换,和其他同一内网用户共享一个公网IP. 这种内网主机隐藏在中间件后的不可访问性对于一些客户端软件如浏览器来说并不是一个问题,因为其只需要初始化对外的链接,从某方面来看反而还对隐私保护有好处。 然而在P2P应用中, 内网主机(客户端)需要对另外的终端(Peer)直接建立链接,但是发起者和响应者可能在不同的中间件后面, 两者都没有公网IP地址. 而外部对NAT公网IP和端口主动的链接或数据都会因内网未请求被丢弃掉...
cover of next post
下一篇
R系列-1
缓存雪崩 (大量key失效,导致大量访问,犹如雪崩) 在高并发场景下,大量缓存key在同一时间失效,造成大量请求直接落在数据库上,导致数据库宕机。 解决方案: 随机设置key失效时间,避免大量key集体失效。 1setRedis(Key,value,time + Math.random() * 10000); 若是集群部署,可将热点数据均匀分布在不同的Redis库中也能够避免key全部失效问题 不设置过期时间 跑定时任务,在缓存失效前刷进新的缓存 缓存穿透(绕过redis,实现穿透) redis缓存和数据库中没有相关数据(例用户直接携带id<=0的参数不断发起请求),redis中没有这样的数据,无法进行拦截,直接被穿透到数据库,导致数据库压力过大宕机。 解决方案 对不存在的数据缓存到redis中,设置key,value值为null(不管是数据未null还是系统bug问题),并设置一个短期过期时间段,避免过期时间过长影响正常用户使用。 拉黑该IP地址 对参数进行校验,不合法参数进行拦截(认为最有效的之一) 布隆过滤器 将所有可能存在的数据哈希到一个足够大的b...
相关推荐
cover
2021-11-24
R系列-1
缓存雪崩 (大量key失效,导致大量访问,犹如雪崩) 在高并发场景下,大量缓存key在同一时间失效,造成大量请求直接落在数据库上,导致数据库宕机。 解决方案: 随机设置key失效时间,避免大量key集体失效。 1setRedis(Key,value,time + Math.random() * 10000); 若是集群部署,可将热点数据均匀分布在不同的Redis库中也能够避免key全部失效问题 不设置过期时间 跑定时任务,在缓存失效前刷进新的缓存 缓存穿透(绕过redis,实现穿透) redis缓存和数据库中没有相关数据(例用户直接携带id<=0的参数不断发起请求),redis中没有这样的数据,无法进行拦截,直接被穿透到数据库,导致数据库压力过大宕机。 解决方案 对不存在的数据缓存到redis中,设置key,value值为null(不管是数据未null还是系统bug问题),并设置一个短期过期时间段,避免过期时间过长影响正常用户使用。 拉黑该IP地址 对参数进行校验,不合法参数进行拦截(认为最有效的之一) 布隆过滤器 将所有可能存在的数据哈希到一个足够大的b...
cover
2021-10-08
Redis数据库查看工具
工具 Redis Desktop Manager(被推荐,但未使用过) DBeaver(不仅支持redis,还支持多种数据库) 下载地址mac安装Redis可视化工具-Redis Desktop Manager DBeaver Enterprise 21.0 企业版激活方法 DBeaver配置 Mac查询文件 mdfind -name 文件名字 Mac查询文本 mdfind “John”mdfind -onlyin ~/Library txt dbeaver.ini文件地址 /Applications/DBeaverEE.app/Contents/Eclipse/dbeaver.ini dbeaver.ini内容 1234567891011121314-startup../Eclipse/plugins/org.eclipse.equinox.launcher_1.6.0.v20200915-1508.jar--launcher.library../Eclipse/plugins/org.eclip...
avatar
King
醉卧沙场君莫笑,古来征战几人回
文章
55
标签
82
分类
3
Follow Me
公告
欢迎相互学习交流~
最新文章
Cursor个人使用记录
Cursor个人使用记录2025-07-08
mcp server git 问题排查日志
mcp server git 问题排查日志2025-07-04
MCP安装指南
MCP安装指南2025-07-04
测试新主题
测试新主题2022-11-08
Godoc 安装与使用
Godoc 安装与使用2022-06-10
©2021 - 2025 By King
改变确实很难,但结果值得冒险