最近爆出来的 Redis crackit 漏洞一直沸沸扬扬,趁着周末的时间研究了一下。研究之余不免感叹,这个漏洞简单粗暴,甚至可以说没有任何技术含量,却能对全球网络造成瘫痪之势,一夜之间几万台服务器接连沦陷。纵观这个漏洞的各个关键点,几乎都是由于配置疏忽导致的,可见运维同学还是任重而道远啊。 一、准
原创 2021-09-05 16:27:47
335阅读
redis数据的备份与恢复持久化分为两种方式:RDB和AOF1.1 RDB模式RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照并存储在硬盘上。进行快照的条件可以由用户在配置文件中自定义,由两个参数构成:时间和改动的键的个数。当在指定的时间内被更改的键的个数大于指定的数值时就会进行快照。RDB是Redis默认采用的持久化方式,
转载 2023-05-25 17:17:36
58阅读
11月9日早上10点多我们收到几台客户服务器的安全监控系统告警,发现几台系统公钥文件被篡改,随后进行安全事件分析处理。在分析过程中我们发现了某组织利用redis设计缺陷的痕迹。考虑到方式简单但影响极大,我们对此次安全事件做了进一步分析,发现这是针对全球互联网的全网性入侵事件。如果您的linux服务器上运行的redis没有设置,很可能已经受到了此次安全事件影响。结果将导致:redis数据丢失,服务器的ssh公钥被替换。
原创 精选 2015-11-11 17:32:45
595阅读
2点赞
事件描述11月9日早上10点多牛盾云安全收到几台客户服务器的安全监控系统告警,发现几台系统公钥文件被篡改,随后进行安全事件分析处理。在分析过程中我们发现了某黑客组织利用redis设计缺陷的攻击痕迹。考虑到攻击方式简单但影响极大,我们对此次安全事件做了进一步分析,发现这是针对全球互联网的全网性入侵事件。如果您的linux服务器上运行的redis没有设置密码,很可能已经受到了此次安全事件影响。结果将导
转载 2023-01-08 10:55:50
239阅读
十四、Redis应用问题解决14.1 缓存穿透14.1.1 问题描述key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若利用此进行可能压垮数据库。现象1、应用服务器压力变大了2、redis命中率降低3、 一直查询数据库14.1.2 解决方案一个一定不存在缓存及
Redis缓存穿透、缓存雪崩、缓存击穿(面试高频,工作常用!)Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。缓存穿透(查不到)概述:
# Redis 解决秒杀 ## 引言 秒杀活动是电商领域常见的促销方式之一,它带来的高并发压力往往会对数据库造成很大的负担。为了解决这个问题,我们可以引入 Redis 作为缓存,以提高系统的并发处理能力,并保证数据的一致性。 ## Redis 简介 Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,它支持多种数据结构,例如字符串(string)
原创 2023-08-18 15:35:57
45阅读
### Redis解决抢购问题 在高并发场景下,如何解决商品抢购过程中的并发问题是一个常见的挑战。使用Redis作为缓存数据库,可以有效地解决抢购过程中的高并发问题。 #### Redis的特性 Redis是一个开源的内存数据库,支持多种数据类型,包括字符串、哈希、列表、集合等。其主要特点包括快速、高效、可持久化等。在抢购过程中,我们可以利用Redis的原子操作和高性能特点来实现并发控制。
原创 2024-04-18 04:13:38
76阅读
# Redis死锁解决方案 ## 前言 在使用Redis时,由于并发操作,可能会出现死锁的情况。死锁是指两个或多个进程无限期地等待资源释放的情况。本文将介绍如何在Redis解决死锁问题。 ## 死锁解决流程 下面是解决Redis死锁问题的流程: ```mermaid journey title Redis死锁解决方案流程 section 死锁检测 CheckLock
原创 2023-08-23 04:12:28
149阅读
# Redis 解决空格 在开发和应用程序中,我们经常会遇到处理字符串的情况。而在字符串处理过程中,空格是一个常见的问题。空格可能会引起一些不必要的麻烦,例如在比较字符串时的误差,或者在存储和传输数据时的不便。为了解决这个问题,我们可以使用 Redis 这个高性能的内存数据存储系统。 ## 什么是 RedisRedis(Remote Dictionary Server)是一个开源的内存数
原创 2024-02-01 12:20:26
72阅读
什么是RedisRedis是一个高性能的key-value数据库,它是完全开源免费的,而且Redis是一个NOSQL类型数据库,是为了解决高并发、高扩展,大数据存储等一系列的问题而产生的数据库解决方案,是一个非关系型的数据库。Redis的特点?Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flu
转载 2023-05-25 16:52:45
76阅读
一、缓存穿透1、原因所谓缓存穿透,可以理解为请求DB中不存在的key对应的数据。通常情况下,当请求redis中某个key时,如果redis中没有,会请求DB,若DB上有key对应的数据,那么就会将这条数据缓存到redis中。但是当DB上也没有key对应的数据时,出于容错考虑,不会回写DB中不存在的数据到redis中。如果请求DB中不存在的key的并发量很小的时候还好,如果并发量很大,那么大量的请求
转载 2023-12-23 22:44:19
25阅读
面试题1:为什么要用 Redis ?业务在哪块儿用到的?正经回答:Redis是眼下最为人熟知的缓解高并发、提升高可用能力的手段之一,再提升服务器性能方面效果显著。这里不得不提到高并发场景,我们知道,并发场景下核心点在数据库,引入缓存(以及引入任何负载均衡、集群等策略)的目的都是在减轻数据库压力,让更多原本打到DB上的请求,在中间被拦截处理掉。就像你请个假屁大点儿事还要大老板签字一样?通俗易懂点儿说
转载 2023-08-07 14:28:30
17阅读
一、缓存穿透1、概念缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中,于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。这里需要注意和缓存击穿的区别,缓存击穿,是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进
转载 2023-07-09 22:05:43
72阅读
1、缓存穿透所谓缓存穿透就是非法传输了一个在数据库中不存在的条件,导致查询redis和数据库中都没有,并且有大量的请求进来,就会导致对数据库产生压力,解决这一问题的方法如下:1、使用空缓存解决对查询到值是空的,同样在redis中保存空值,并且设置过期时间短些2、使用布隆过滤器解决对传入的条件进行合法性校验,如id = -1的直接返回空值,同时可以使用布隆过滤器,流程如下布隆过滤器介绍布隆过滤器可能
Redis实现分布式session管理一、管理机制 redis的session管理是利用spring提供的session管理解决方案,将一个应用session交给redis存储,整个应用所有session 的请求都会去redis中获取对应的session数据二、开发session管理1.引入依赖<dependency> <groupId>org.springfram
转载 2023-05-25 10:43:19
311阅读
作者:孤独烟引言 讲了几天的数据库系列的文章,大家一定看烦了,其实还没讲完。。。(以下省略一万字)。今天我们换换口味,来写redis方面的内容,谈谈热key问题如何解决。其实热key问题说来也很简单,就是瞬间有几十万的请求去访问redis上某个固定的key,从而压垮缓存服务的情情况。其实生活中也是有不少这样的例子。比如XX明星结婚。那么关于XX明星的Key就会瞬间增大,就会出现热数据问题。ps:
转载 2023-10-20 11:41:54
43阅读
Redis 缓存主要缓存穿透、缓存击穿与缓存雪崩异常场景,今天我们来讲讲缓存穿透。1 场景描述缓存穿透是指客户端请求一个缓存和数据库中都不存在的 key。由于缓存中不存在,所以请求会透过缓存查询数据库;由于数据库中也不存在,所以也没办法更新缓存。因此下一次同样的请求还是会打在数据库上。好像缓存被穿透了一样,缓存形如虚设。所有的压力都在数据库之上,如果请求量巨大,可能造成数据库崩溃。2 解决方法缓存
缓存穿透问题缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常出于容错的考虑,如果从存储层查不到数据则不写入缓存层。一般对于未命中的数据我们是按照如下方式进行处理的:1.缓存层不命中。2.存储层不命中,不将空结果写回缓存。3.返回空结果。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后端存储的意义。缓存穿透问题可能会使后端存储负载加大,由于很多后端存储不具
1.Redis 双写不一致导致的问题背景:使用到缓存,无论是本数据库做缓存还是使用Redis 做缓存,那么就会存在数据同步的问题,因为配置信息缓存在内存中,而内存是无法感知到数据在数据库的修改。这样就造成数据不一致性的问题。 共有四种方案: 1.先更新数据库,后更新缓存。 2.先更新缓存,再更新数据库。 3.先删除缓存,后删除数据库。 4.先更新数据库,后更新缓存。第一种和第二种方案,没有人使用的
  • 1
  • 2
  • 3
  • 4
  • 5