最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

redis incr和incrBy的使用說(shuō)明

 更新時(shí)間:2020年11月24日 11:44:55   作者:北京--小烏龜  
這篇文章主要介紹了redis incr和incrBy的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

最近用incr和incrBy在接口里做了下埋點(diǎn)統(tǒng)計(jì)每天請(qǐng)求總數(shù),這兩個(gè)命令還是挺好用的,先說(shuō)下這倆命令吧

注:redis后臺(tái)服務(wù)是串行的單線程執(zhí)行,不存在并發(fā),即多線程調(diào)用Incr/incrby方法,在redis服務(wù)器上仍然是串行的單線程執(zhí)行,不存在并發(fā),所以這倆命令都是原子自增、線程安全的。

1、Incr 命令 (菜鳥教程)

Redis Incr 命令將 key 中儲(chǔ)存的數(shù)字值增一。

如果 key 不存在,那么 key 的值會(huì)先被初始化為 0 ,然后再執(zhí)行 INCR 操作。

如果值包含錯(cuò)誤的類型,或字符串類型的值不能表示為數(shù)字,那么返回一個(gè)錯(cuò)誤。

本操作的值限制在 64 位(bit)有符號(hào)數(shù)字表示之內(nèi)。

2、Redis Incrby 命令

Redis Incrby 命令將 key 中儲(chǔ)存的數(shù)字加上指定的增量值。

如果 key 不存在,那么 key 的值會(huì)先被初始化為 0 ,然后再執(zhí)行 INCRBY 命令。

如果值包含錯(cuò)誤的類型,或字符串類型的值不能表示為數(shù)字,那么返回一個(gè)錯(cuò)誤。

本操作的值限制在 64 位(bit)有符號(hào)數(shù)字表示之內(nèi)。

3、實(shí)現(xiàn)按天統(tǒng)計(jì)的思路

以你自定義的字符串+當(dāng)前年月日 作為key ;例:

public static final String BATCH_COMMIT_DAY_COUNT="test:wugui:";
public static String getCurrentDate() {
  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
  return simpleDateFormat.format(new Date());
 }

redisClient.incr(BATCH_COMMIT_DAY_COUNT + DateUtil.getCurrentDate());//redis的key

當(dāng)然我并沒有為這個(gè)key用expire設(shè)置超時(shí)時(shí)間,因?yàn)槲倚枰A裘刻斓慕y(tǒng)計(jì);

incrBy 可以在現(xiàn)有值的基礎(chǔ)上累加你的增量值,比如你要在一個(gè)批量審核接口里統(tǒng)計(jì)每天批量審核的所有人數(shù),例:

redisClient.incrBy(BATCH_COMMIT_DAY_COUNT + DateUtil.getCurrentDate(), 63l);

注意redis的 incrBy 第二個(gè)參數(shù)是long類型,不是參數(shù)名的integer.....

public Long incrBy(final String key, final long integer) {
 checkIsInMultiOrPipeline();
 client.incrBy(key, integer);
 return client.getIntegerReply();
 }

4、總結(jié)

除了簡(jiǎn)單計(jì)數(shù),還可以實(shí)現(xiàn)控制用戶單位時(shí)間內(nèi)請(qǐng)求等,可根據(jù)業(yè)務(wù)需求靈活運(yùn)用;

有興趣可以參考下這篇文章,簡(jiǎn)單實(shí)用 //www.fzitv.net/article/200492.htm

補(bǔ)充知識(shí):redis之incrby、incr、hincrby的使用

一、incrby

1、說(shuō)明

Redis Incrby 命令將 key 中儲(chǔ)存的數(shù)字加上指定的增量值。

2、語(yǔ)法

INCRBY KEY_NAME INCR_AMOUNT

二、incr

1、說(shuō)明

Redis Incr 命令將 key 中儲(chǔ)存的數(shù)字值增一。

2、語(yǔ)法

INCR KEY_NAME

三、hincrby

1、說(shuō)明

Redis Hincrby 命令用于為哈希表中的字段值加上指定增量值。

2、語(yǔ)法

HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER

四、實(shí)例

192.168.230.21:6379[8]> incrby value 12
(integer) 12
192.168.230.21:6379[8]> get value
"12"
192.168.230.21:6379[8]> incr value
(integer) 13
192.168.230.21:6379[8]> get value
"13"
192.168.230.21:6379[8]> get value
"13"
192.168.230.21:6379[8]> incr value
(integer) 14
192.168.230.21:6379[8]> get value
"14"
192.168.230.21:6379[8]> incrby value 10
(integer) 24
192.168.230.21:6379[8]> get value
"24"
192.168.230.21:6379[8]> incrby value -5
(integer) 19
192.168.230.21:6379[8]> get value
"19"
192.168.230.21:6379[8]> hincrby mykey myfield 0
(integer) 0
192.168.230.21:6379[8]> hincrby mykey myfield 5
(integer) 5
192.168.230.21:6379[8]> hincrby mykey myfield 7
(integer) 12
192.168.230.21:6379[8]> hincrby mykey myfield01 4
(integer) 4
192.168.230.21:6379[8]> hincrby mykey myfield01 9
(integer) 13
192.168.230.21:6379[8]> hgetall mykey
1) "myfield"
2) "12"
3) "myfield01"
4) "13"
192.168.230.21:6379[8]> hincrby mykey myfield01 -4
(integer) 9
192.168.230.21:6379[8]> hgetall mykey
1) "myfield"
2) "12"
3) "myfield01"
4) "9"
192.168.230.21:6379[8]> 

以上這篇redis incr和incrBy的使用說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一次線上websocket返回400問題排查的實(shí)戰(zhàn)記錄

    一次線上websocket返回400問題排查的實(shí)戰(zhàn)記錄

    最近項(xiàng)目中有端對(duì)端通信場(chǎng)景,實(shí)時(shí)性要求較高,考慮后選用了websocket 這一通信協(xié)議,下面這篇文章主要給大家介紹了一次線上websocket返回400問題排查的實(shí)戰(zhàn)記錄,需要的朋友可以參考下
    2022-04-04
  • 基于@ComponentScan注解的使用詳解

    基于@ComponentScan注解的使用詳解

    這篇文章主要介紹了@ComponentScan注解的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 在spring boot中使用java線程池ExecutorService的講解

    在spring boot中使用java線程池ExecutorService的講解

    今天小編就為大家分享一篇關(guān)于在spring boot中使用java線程池ExecutorService的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 詳細(xì)總結(jié)IDEA中打jar包的兩種方式

    詳細(xì)總結(jié)IDEA中打jar包的兩種方式

    發(fā)現(xiàn)有很多小伙伴都不會(huì)用IDEA打jar包,今天給大家詳細(xì)總結(jié)了兩種IDEA打jar包的方式,對(duì)正在學(xué)習(xí)IDEA使用的小伙伴很有幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot?如何使用sharding?jdbc進(jìn)行分庫(kù)分表

    SpringBoot?如何使用sharding?jdbc進(jìn)行分庫(kù)分表

    這篇文章主要介紹了SpringBoot?如何使用sharding?jdbc進(jìn)行分庫(kù)分表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java實(shí)現(xiàn)FTP批量大文件上傳下載篇1

    Java實(shí)現(xiàn)FTP批量大文件上傳下載篇1

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)FTP批量大文件上傳下載的基礎(chǔ)篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Spring Boot通過(guò)Junit實(shí)現(xiàn)單元測(cè)試過(guò)程解析

    Spring Boot通過(guò)Junit實(shí)現(xiàn)單元測(cè)試過(guò)程解析

    這篇文章主要介紹了Spring Boot通過(guò)Junit實(shí)現(xiàn)單元測(cè)試過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • maven安裝配置的實(shí)現(xiàn)步驟

    maven安裝配置的實(shí)現(xiàn)步驟

    本文主要介紹了maven安裝配置的實(shí)現(xiàn)步驟,包括下載和安裝Maven,配置Maven的環(huán)境變量,以及創(chuàng)建Maven項(xiàng)目,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • java報(bào)錯(cuò):找不到或無(wú)法加載主類的解決方法簡(jiǎn)單粗暴

    java報(bào)錯(cuò):找不到或無(wú)法加載主類的解決方法簡(jiǎn)單粗暴

    本文主要介紹了java報(bào)錯(cuò):找不到或無(wú)法加載主類的解決方法簡(jiǎn)單粗暴,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Mybatis?ResultMap和分頁(yè)操作示例詳解

    Mybatis?ResultMap和分頁(yè)操作示例詳解

    這篇文章主要為大家介紹了Mybatis?ResultMap和分頁(yè)操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10

最新評(píng)論

龙南县| 开封市| 保康县| 老河口市| 古交市| 长岭县| 天等县| 大厂| 嘉定区| 桂东县| 周口市| 景德镇市| 阜阳市| 上虞市| 吉林省| 马边| 方正县| 时尚| 普安县| 深圳市| 西昌市| 乐亭县| 鲁山县| 昌平区| 伊金霍洛旗| 阜城县| 聊城市| 平原县| 桃江县| 大厂| 辛集市| 宜城市| 格尔木市| 榆社县| 陇西县| 新乡市| 华亭县| 大田县| 西平县| 屯门区| 墨竹工卡县|