日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

通过Redis、Memcache的 incr 原子操作防刷机制的使用差别

發(fā)布時間:2024/4/15 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过Redis、Memcache的 incr 原子操作防刷机制的使用差别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我的版本如下:
Redis:3.2.100
Memcache:1.4.4

最近在處理服務(wù)器壓力測試的時候,想到一個方案,在一定時間段內(nèi)限制用戶訪問次數(shù)。具體的實(shí)現(xiàn)就是通過redis的院子操作increment 來實(shí)現(xiàn)計(jì)數(shù)器計(jì)數(shù)(memcache是通過incr方法)
這個可以作為很多防刷場景的策略,也可以用于確實(shí)業(yè)務(wù)上所需的限制比如1分鐘內(nèi)發(fā)驗(yàn)證碼次數(shù)限制,防止刷驗(yàn)證碼。

具體在實(shí)現(xiàn)過程中遇到個細(xì)微的差異:

  • redis的increment操作,如果對應(yīng)的key不存在,會自動創(chuàng)建并且初始化為0,然后執(zhí)行incement操作,那么首次對某個key執(zhí)行increment操作時會返回1(不需要自己先判斷是否存在這個key之類的操作),官方文檔有說明:->點(diǎn)我查看官方文檔<-

  • memcache的默認(rèn)incr(key, by)操作,如果對應(yīng)的key不存在,會報(bào)錯。->點(diǎn)我查看官方wiki說明:<-

    不過如果你使用的是net.spy.memcached.MemcachedClient這個java客戶端來操作memcache的話,它提供了更多的選擇,可以通過這些接口傳默認(rèn)值、超時時間進(jìn)去,讓它自動幫你初始化不存在的key:

轉(zhuǎn)載于:https://www.cnblogs.com/xiaocy66/p/10589260.html

總結(jié)

以上是生活随笔為你收集整理的通过Redis、Memcache的 incr 原子操作防刷机制的使用差别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。