腾讯云短信 redis

别来无恙 提交于 2019-12-03 00:21:58

开通腾讯云短信

  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 形式数据,排行

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!