Redis缓存问题:穿透,击穿,雪崩,双写一致性等
Redis缓存问题:Redis缓存问题:穿透,击穿,雪崩,双写一致性等在高并发场景下,数据库往往是最薄弱的环节,我们通常选择使用redis来进行缓存,以起到缓冲作用,来降低数据库的压力,但是一旦缓存出现问题,也会导致数据库瞬间压力过大甚至崩溃,从而导致整个系统崩溃.今天就聊聊常见的redis缓存问题. 缓存击穿缓存击穿一般指redis中的一个热点数据过期,导致大量请求直接访问数据库的情况,导致数据库瞬间压力过大甚至崩溃. 解决方案: 设置热点数据永不过期,这是一个不错的方案(要考虑业务特性,体量以及成本),前提是热点数据不能频繁发生改变,否则就会出现缓存污染.最好是根据一定的策略进行定时更新 重要接口限流,做好熔断和降级的准备,sentinel是个不错的选择 使用互斥锁,保证同一时刻只有一个线程可以访问数据库,这何尝不是一种限流呢 缓存穿透缓存穿透指缓存和数据库中都没有的数据,用户不断发起请求.这种情况最可能就是有人试图恶意攻击系统 解决方案: 加校验:拦截非法请求,用户鉴权等 redis缓存一个无效值,以防止对同一个key在数据库中的多次查询,但redis中可能会出现大量无效值 ...
海外访问阿里云服务器失败
海外访问阿里云服务器失败由于我的图床是挂在github上,然后使用cloudflare的CDN加速,但在国内访问时,图片的加载速度仍然较慢,所以我经常使用魔法访问已获得更好的体验。但我发现,最近使用魔法访问时,我无法访问到我的网站。我去检查了下,安全组规则配置是没问题的,那么原因很可能就出现在防火墙上. 我去检查了下,发现我的服务器根本就没开防火墙,这是一个很奇怪的事,没开就不应该有问题啊.然后我尝试将防火墙打开,开放80和443端口,重启防火墙,然后就可以成功访问了. 步骤如下: 查看防火墙状态:1systemctl status firewalld 打开防火墙1systemctl start firewalld 查看已开放的端口1firewall-cmd --list-ports 打开80和443端口12firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --zone=public --add-port=443/tcp --permanent 重启防火墙1firewall-cmd --reload ...
数据库分库分表
数据库分库分表分库分表到底是什么分库分表其实是分库,分表,分库分表的总称 分库将数据按照一定规则存储到不同的数据库中,每个数据库存储一部分数据 分库主要解决的是并发量过大的问题,并发量一旦上升,那么数据库就可能成为系统的瓶颈,因为数据库的连接数量是有上限的,虽然可以进行调整,但并不是无限调整的。所以,当数据库的读或者写的 QPS(每秒查询数) 太高,从而导致你的数据库连接数量不足的时候,就需要考虑到分库了,通过在增加数据库实例的方式来提供更多的数据库连接,从而提升系统的并发度。这里拿一个电商系统的数据库来举例,当你微服务在做服务拆分的时候,你会按照功能模块去把你的系统进行服务拆分,这个时候,就需要将每个模块的数据从一个单独的数据库中拆开,分成订单、物流、商品、用户等多个数据库,然后随着业务的发展,每个单独的业务数据库也需要进行分库了,如下图所是。 分表将一张表按照一定规则拆分成多张表,每张表存储一部分数据 相比较于分库,分表主要解决的是数据量大的问题,即通过将数据拆分到多个表,减少单表的数据量,从而提升查询速度。 分库分表这一般发生在数据库连接不够(分库解决的问题)以及单表数据量过大 ...
博客网站遇到的一些问题
博客网站遇到的一些问题错把版本升级最近阿里云显示我的博客网站有漏洞,我便想着去把它给修了,由于经验不足且没有认真看官方的解决方案,我把centos从版本7直接升到了版本8,导致博客网站挂了,服务不可用.由于是大版本升级,而且之前也错误升级了一些东西,于是我选择了重置环境然后重新部署.事后想了一下,主要问题有两点: 没有仔细看官方的解决方案,使用了更宽范围的update命令,导致centos和一些组件错误升级,从而导致博客网站无法正常访问. 没有备份手段,阿里云其实提供了快照,但我以为自己不会用上,而且能省一笔钱,也就没开通 阿里云重置环境的方法: 停止云服务器 找到更换操作系统选项,选择更换系统盘 对系统盘做初始设置 博客网站无法正常访问这个问题在于浏览器,我一直没有给我的网站配置SSL证书,所以一直用的是http协议,现在edge浏览器和chrome浏览器已经强制将http转换为https,导致我的网站无法正常访问.解决方案有如下两种: 1.更改HSTS在edge浏览器中,输入edge://net-internals/#hsts,在Delete domain sercu ...
IELTS优秀小作文分享
IELTS优秀小作文分享柱状图本篇范文个人评分是8分或者8.5分,属于能找到的最优质的范文了 题目如下: The two sets of bar charts illustrate the amount of time that teenagers (boys, girls, and all) in the UK spend chatting online and playing game consoles on a typical school day. The first set of data shows the behavioral patterns of chatting on the internet: on average, about 25% of teenager students, including both boys and girls, spend less than one hour, around 30% between one to three, and approximately 6% more than four hours. As for the ...
Hutool:一行代码搞定数据脱敏 | 京东云技术团队
声明:本文转载自Hutool:一行代码搞定数据脱敏 | 京东云技术团队Hutool:一行代码搞定数据脱敏 | 京东云技术团队1. 什么是数据脱敏1.1 数据脱敏的定义数据脱敏百度百科中是这样定义的: 数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。是数据库安全技术之一。 总的来说,数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。 在数据脱敏过程中,通常会采用不同的算法和技术,以根据不同的需求和场景对数据进行处理。例如,对于身份证号码,可以使用掩码算法(masking)将前几位数字保留,其他位用“X”或”*“代替;对于姓名,可以使用伪造(pseudonymization)算法,将真实姓名替换成随机生成的假名。 1.2 常用脱敏规则替换、重排、加密、截断、掩码 2. Huto ...