• 腾讯云短信 redis


    开通腾讯云短信

      1、官网注册实名账号:https://cloud.tencent.com
      2、选取短信服务创建短信应用
      3、申请签名与短信模板 - 通过微信公众号申请

    腾讯云短信二次封装  libs文件夹下创建txsms包

    libs/txsms/settings.py     

    # 短信应用 SDK AppID - SDK AppID 以1400开头
    APP_ID = ...
    # 短信应用 SDK AppKey
    APP_KEY = "..."
    # 短信模板ID,需要在短信控制台中申请
    TEMPLATE_ID = ...
    # 签名 - 是`签名内容`,而不是`签名ID`
    SMS_SIGN= "..."
    # 电话前缀
    MOBILE_PREFIX = 86

    libs/txsms/sms.py  luffyapi终端下  pip install qcloudsms_py

    # 通过MacOS ssl安全认证
    import ssl
    ssl._create_default_https_context = ssl._create_unverified_context
    
    # 获取验证码的功能
    import random
    def get_code():
        code = ''
        for i in range(4):
            code += str(random.randint(0, 9))
        return code
    
    # 短信发送者
    from qcloudsms_py import SmsSingleSender
    from .settings import *
    sender = SmsSingleSender(APP_ID, APP_KEY)
    
    # 发送验证码
    from utils.logging import logger
    def send_sms(mobile, code, exp):
        try:
            # 发送短信
            response = sender.send_with_param(MOBILE_PREFIX, mobile, TEMPLATE_ID, (code, exp), sign=SMS_SIGN, extend="", ext="")
            # 成功
            if response and response['result'] == 0:
                return True
            # 失败
            logger.warning('%s - %s' % ('短信发送失败', response['result']))
        except Exception as e:
            # 异常
            logger.warning('%s - %s' % ('短信发送失败', e))
        return False

    libs/txsms/__init__.py

    from .sms import get_code, send_sms

    scripts/t_sms.py

    from libs import txsms
    code = txsms.get_code()
    print(code)
    print(txsms.send_sms('电话', code, 5))

    redis数据库

    1、redis是内存 no-sql 数据库,相比mysql等硬盘数据库效率高
    2、在内存值配置数据库使用,而不直接使用内存,redis存储的数据是可以管理的
    3、memcache也是内存数据库,且django默认采用的就是memcache数据库,用redis替换memcache的路由很简单,后者更强大
        redis支持更多的数据类型
        redis自带缓存机制,出现数据库系统崩溃数据也是可以有找回的功能
        redis可以主动完成数据持久化(自带数据持久化功能)
        redis的数据过期时间机制也可以自身完成

    redis数据类型

      支持的数据类型:String、Hash、List、Set、Sorted Set
      String:存储其他类型不能存的所有数据
      Hash:存储 key-value 形式数据,类似于字典
      List:存储 一系列有序value 形式数据,列表(数组)
      Set:存储 一系列无序value 形式数据,集合
      Sorted Set:存储 有排列标号value 形式数据,排行

    dayehui
  • 相关阅读:
    处理溢出
    电梯调度之需求分析
    求二维矩阵和最大的子矩阵
    四则运算改进,结果判断
    结对开发
    四则运算题测试阶段
    阶段二站立会议(2)
    阶段二站立会议(1)
    课程改进意见
    场景调研
  • 原文地址:https://www.cnblogs.com/zrh-960906/p/11768871.html
Copyright © 2020-2023  润新知