亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Redis模仿發(fā)送手機驗證碼功能

 更新時間:2021年09月27日 15:34:07   作者:Lw中  
這篇文章主要介紹了Redis模仿手機驗證碼發(fā)送功能,通過示例代碼給大家講解通過用戶輸入手機號以及驗證碼進行校驗,代碼簡單易懂,需要的朋友可以參考下

流程圖

一:添加jedis依賴包

二:測試連接Redis服務是否成功

// 創(chuàng)建Jedis對象用于連接Redis服務(在服務器上通過redis-server需要指定配置文件:redis-server /etc/redis.conf)
Jedis jedis = new Jedis("192.168.119.128", 6379);
String value = jedis.ping();
System.out.println(value);
jedis.close();

三:編寫生成驗證碼方法

/**
     * 生成驗證碼的方法
     * @return code
     */
    public static String getCode() {
        Random random = new Random();
        String code = "";
        for (int i = 0; i < 6; i++) {
            int num = random.nextInt(10);
            code += num;
        }
        System.out.println(code);
        return code;
    }

四:編寫發(fā)送驗證碼方法

/**
     * 用戶點擊生成驗證碼并將其添加到redis中
     * @param phone
     */
    public static void sendVerifyCode(String phone) {
        Jedis jedis = new Jedis("192.168.119.128", 6379);
 
        // 手機號碼的key,獲取手機號碼發(fā)送驗證碼次數(shù)
        String countKey = "VerifyCode" + phone + ":count";
        // 驗證碼的key,獲取手機號碼的驗證碼
        String codeKey = "VerifyCode" + phone + ":code";
 
        // 獲取countKey判斷當前手機號碼是否可以發(fā)送驗證碼
        String count = jedis.get(countKey);
        if (count == null) {
            jedis.setex(countKey, 24 * 60 * 60, "1");
        } else if (Integer.parseInt(count) <= 2) {
            jedis.incr(countKey);
        } else if (Integer.parseInt(count) > 2) {
            System.out.println("當前手機號發(fā)送驗證碼次數(shù)超過上限,請明天再發(fā)送驗證碼");
            jedis.close();
        }
 
        String code = getCode();
        jedis.setex(codeKey, 120, code);
 
        jedis.close();
    }

五:編寫校驗驗證碼方法

/**
     * 用戶輸入手機號以及驗證碼進行校驗
     * @param phone
     * @param code
     */
    public static void CustomerVerifyCode(String phone, String code) {
        Jedis jedis = new Jedis("192.168.119.128", 6379);
 
        String codeKey = "VerifyCode" + phone + ":code";
        String phoneVerifyCode = jedis.get(codeKey);
 
        if (phoneVerifyCode.equals(code)) {
            System.out.println("校驗成功!");
        } else {
            System.out.println("校驗失?。?);
        }
 
        jedis.close();
    }

到此這篇關于Redis模仿手機驗證碼發(fā)送的文章就介紹到這了,更多相關Redis發(fā)送手機驗證碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Redis如何一鍵部署腳本

    Redis如何一鍵部署腳本

    這篇文章主要介紹了Redis如何一鍵部署腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Redis高可用部署架構的實現(xiàn)

    Redis高可用部署架構的實現(xiàn)

    本文主要介紹了Redis高可用部署架構的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • Redis如何批量刪除指定模糊的key舉例

    Redis如何批量刪除指定模糊的key舉例

    在實際項目中,我們可能需要根據(jù)一定的條件來刪除部分key,這時候就需要用到模糊刪除操作這,下面篇文章主要給大家介紹了關于Redis如何批量刪除指定模糊的key的相關資料,需要的朋友可以參考下
    2024-08-08
  • Redis2.8配置文件中文詳解

    Redis2.8配置文件中文詳解

    這篇文章主要介紹了Redis2.8配置文件中文詳解,本文提供的是是Redis2.8.9的配置文件各項的中文解釋,需要的朋友可以參考下
    2015-06-06
  • 在redisCluster中模糊獲取key方式

    在redisCluster中模糊獲取key方式

    這篇文章主要介紹了在redisCluster中模糊獲取key方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Redis的Sentinel解決方案介紹與運行機制

    Redis的Sentinel解決方案介紹與運行機制

    這篇文章主要介紹了Redis的Sentinel解決方案介紹與運行機制, Sentinel 是一款面向分布式服務架構的輕量級流量控制組件,主要以流量為切入點,從流量控制、熔斷降級、系統(tǒng)自適應保護等多個維度來保障服務的穩(wěn)定性,需要的朋友可以參考下
    2023-07-07
  • SpringBoot集成Redis的思路詳解

    SpringBoot集成Redis的思路詳解

    Redis是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API。接下來通過本文給大家分享SpringBoot集成Redis的詳細過程,感興趣的朋友一起看看吧
    2021-10-10
  • redis持久化AOF和RDB的區(qū)別及解決各個場景問題示例

    redis持久化AOF和RDB的區(qū)別及解決各個場景問題示例

    這篇文章主要為大家介紹了redis持久化AOF和RDB的區(qū)別及解決各個場景問題示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 使用Redis實現(xiàn)點贊取消點贊的詳細代碼

    使用Redis實現(xiàn)點贊取消點贊的詳細代碼

    這篇文章主要介紹了Redis實現(xiàn)點贊取消點贊的詳細代碼,通過查詢某實體(帖子、評論等)點贊數(shù)量,需要用到事務相關知識,結合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • 基于Redis驗證碼發(fā)送及校驗方案實現(xiàn)

    基于Redis驗證碼發(fā)送及校驗方案實現(xiàn)

    本文主要介紹了基于Redis驗證碼發(fā)送及校驗方案實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01

最新評論