正文
redis保证幂等性,redis等保测评
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
缓存击穿、穿透、雪崩及Redis分布式锁
缓存雪崩、缓存穿透和缓存击穿都是缓存系统中的问题,但是它们之间有所不同。- 缓存雪崩:指Redis中大量的key几乎同时过期,然后大量并发查询穿过redis击打到底层数据库上,此时数据库层的负载压力会骤增。
缓存穿透是指一个请求要访问的数据,缓存和数据库中都没有,而用户短时间、高密度的发起这样的请求,每次都打到数据库服务上,给数据库造成了压力。一般来说这样的请求属于恶意请求。
内存限制:Redis是基于内存的存储系统,当缓存数据量过大时,可能会消耗大量内存资源,影响软件其他功能的性能。缓存穿透、缓存击穿和缓存雪崩:这些现象可能导致缓存系统承受较大压力,进而影响整个软件的性能和稳定性。
理解幂等性
幂等性是系统服务对外一种承诺(而不是实现),承诺只要调用接口成功,外部多次调用对系统的影响是一致的。声明为幂等的服务会认为外部调用失败是常态,并且失败之后必然会有重试。
HTTP GET 方法,用于获取资源,不管调用多少次接口,结果都不会改变,所以是幂等的。只是查询数据,不会影响到资源的变化,因此我们认为它幂等。值得注意,幂等性指的是作用于结果而非资源本身。
幂等性 :就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。接口幂等性不只是分布式事务方便回滚的保证,同时也是SOA服务实现中摒除重复消息的保证。
分布式系统中实现幂等性的几种方式
1、有些接口可以天然的实现幂等性 ,比如查询接口,对于查询来说,你查询一次和两次,对于系统来说,没有任何影响,查出的结果也是一样。除了查询功能具有天然的幂等性之外,增加、更新、删除都要保证幂等性。
2、查询 查询的API,可以说是天然的幂等性,因为你查询一次和查询两次,对于系统来讲,没有任何数据的变更,所以,查询一次和查询多次一样的。
3、总而言之,接口符合幂等性在可以降低系统实现的复杂性,并能保证资源状态的一致性。RESTFul风格的接口设计本质上使用的是HTTP协议的请求方法,因此,RESTFul接口方法的幂等性指的就是HTTP方法的幂等性。
关于redis保证幂等性和redis等保测评的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。