redis常用总结和支付宝微信支付推送
-链接redis:decode_responses=True:存的数据是字符串格式
redis连接池:
pool = redis.ConnectionPool(host='10.211.55.4', port=6379,max_connection=1000)
conn = redis.Redis(connection_pool=pool,decode_responses=True)
-用单例
redis的字典操作:
-hget
-hset
*****-字典中再套字典,需要把后面的字典序列化成字符串
-hmset
-hmget
-hgetall---慎用
-hlen
-hscan --指定游标,然后取多少数据
-hscan_iter---增量迭代取值
-hkey
-hvals
-hdel
-hexisit
-hincrby---用来统计一个东西的数量的频繁增加
redis的列表操作
-lpush
-rpush
-lpop ---删的同时,把值返回
-linsert('l1','before',12,777)
-lrem --删除
-lindex 返回索引位置
-llen 返回列表的长度
-lrange --切片操作
-自定义增量迭代
-blpop --如果列表中没有值,会hang住 模拟出生产者消费者模型
-队列和栈
-队列:先进先出
-栈:后进先出
redis有事务:
--通过管道模拟实现
django中使用redis
-自定义(用连接池,单例)
-django-redis:
-from django_redis import get_redis_connection
-setting中配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"CONNECTION_POOL_KWARGS": {"max_connections": 1000}
# "PASSWORD": "123",
}
}
}
要点:
支付宝支付
正式环境:用营业执照,申请商户号,appid
测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.htm?tab=info
支付宝提供接口:给商户使用,收钱
-Java,php,C#的demo,没有python的demo
-git有人封装了
-需要安装模块:pip3 install pycryptodome
-应用私钥---自己保存,一定不能丢
-应用公钥---给别人用
-支付宝公钥---支付宝用的
-生成公钥私钥:https://docs.open.alipay.com/291/105971
-把应用公钥配置在支付宝上:应用公钥,配置完成以后,支付宝自动生成一个支付宝公钥
-在程序中:配置应用私钥,支付宝公钥
-如果支付成功,支付宝会回调,但是如果你的服务器挂掉了怎么办?
-支付宝24小时以内不定时再给你发,你修改掉订单状态即可
-支付成功,支付宝会有一个get回调,一个post回调:修改订单状态
用什么推送
-邮件
-微信推送
-短信推送
微信推送
-公众号(不能主动给用户发消息)
-认证的公众号:需要营业执照,需要交钱,可以发多篇文章
-未认证的公众号:一天只能发一篇文章
-服务号(微信推送)
-需要申请,需要认证
-可以主动给用户推送消息
-能给推送的人,必须关注我的服务号
-沙箱环境
-企业号
-企业里用的:
-你们所见的二维码:其实就是一个url地址
-咱们在前端通过url(https://open.weixin.qq.com/connect/oauth2.....)生成一个二维码
-注意*****修改:网页授权获取用户基本信息