Python3.5 学习十一
关于消息队列
PY 中应用程序里对于消息队列的使用:
1 threading QUEUE
2 进程QUEUE 父进程、父进程下的子进程间进行交互
RabbitMQ 消息队列 :用于应用程序之间,可跨平台的进行通信
RabbitMQ依赖于语言erlang
实例代码举例:20180815 先要安装erlang和pika
pika是python连接RabbitMQ模块的主要工具,celery是很火的分布式任务队列,还有一个叫haigha.
RabbitMQ消息基本实例\轮训分发\确保消息完成\消息可持续\消息公平分发\
RabbitMQ fanout广播模式:fanout_publisher 实时的,当时在线的才能收到。订阅发布,等同于收音机机制
RabbitMQ direct广播模式:分类/级别,只有接受该级别的才能收到
topic细致的消息过滤广播模式:(consumer如果想收所有,后面跟着 # 号则收所有)
缓存存储系统:mongodb、redis、memcache 只能存在内存 轻量级缓存
redis 是一个异步单线程 Key-value缓存系统。
set key value
set key value nx 只有key不存在时,才添加keyvalue对
set key value xx 只有key存在时,才更改key的value
set key ex value 设置超时时间 s
pset key ex value 设置超时时间毫秒
mset 批量设置 如果命令不会用,可以help cmd_str查看命令说明
get 取值
mget 批量取值
getset 设置更改新值并返回之前的值
getrange 相当于取到后给字符串切片操作
setrange 给起点为那个的后面进行赋值
setbit 给二进制位更改值 可以更改二进制位的值,引申为存储上亿的人的ID号等功能。让数据存储量最大化
incr 自增
incrbyfloat
decr 自减
append 追加
RabbitMQ rpc的实现:有发送有返回(远程函数调用remote procedure call)
Redis 对hash操作 hset XXX hgetall XXX hget XXX YYY hkeys XXX hvals XXX hmset hmget hlen hexists hincrby.....hscan hscan_inter
Redis 对集合set的操作
操作列表:lpush names aa bb cc 从左边放入 lrange names 0 -1
rpush names 从右边放 lrange names 从左边拿
lpushx 只有列表存在才放入数据
llen
linsert linsert names after/before aaa bbb
lset names 1 bbb
lrem names 2 test
lpop 从左侧获取第一个元素并移除
lindex
lrange
ltrim 只保留所写的部分值,其他都移除
rpoplpush 从一个列表里右边取出来一个,放到另一个列表的最左边
blpop 删掉并返回 并且可设置无数据时的等待时间
brpoplpush 对一个放一个收的操作,可设置超时时间的命令
对集合的操作:
sadd names 直接去重
smembers names 集合不能用切片形式获取值,因为它是无序的
sdiff 比较两个集合差集
sdiffstore newset set1 set2
sinter 交集
sinterstore
sismember
smembers
smove
spop 右侧尾部移除一个并返回
srandmember 随机获取number个值
srem删除指定的值
sunion 获取并集
sunionstore
sscan 查找 匹配
sscan_inter 同上,但返回一个迭代器
有序集合:
zadd z1 10 alex 5 jack 8 rain 6 jain
zrange 显示值 根据权重从小到大排列 withscores 显示分数
zcount 统计数量
zincrby 自增分数
zrank 获取某个值在该有序队列的排行,从0开始
zrangebylex
zrem 删除
zremrangebyrank 范围内删除
zremrangebyscore
zsore
zinterstore 获取交集 并将scores相加存储
zunionstore 获取并集
zcan_inter 过滤并返回迭代器
Redis对元素的操作函数
del
exists
keys 根据模型获取redis的name
expire 为某个name设置超时时间
rename
move 从元素保存到db redis有15个db
randmkey 随机获取一个key
type 获取类型
scan 检索
redis-py管道
示例写错了,应该是用pipe去set值,这里注意一下
发布与订阅:
Redis 对有序集合的操作
本周作业:
可以异步的在多台机器上执行多个任务
Python3.5 学习十一的更多相关文章
- 从零开始学习PYTHON3讲义(十一)计算器升级啦
(内容需要,本讲中再次使用了大量在线公式,如果因为转帖网站不支持公式无法显示的情况,欢迎访问原始博客.) <从零开始PYTHON3>第十一讲 第二讲的时候,我们通过Python的交互模式来 ...
- python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法
python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0.zfill()方法语法:s ...
- python3.4学习笔记(十一) 列表、数组实例
python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...
- python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容
python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖 ...
- python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容
python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- 【转载】 强化学习(十一) Prioritized Replay DQN
原文地址: https://www.cnblogs.com/pinard/p/9797695.html ------------------------------------------------ ...
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...
- python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...
随机推荐
- Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例
1.重写equals方法实例 部分代码参考http://blog.csdn.net/wangloveall/article/details/7899948 重写equals方法的目的是判断两个对象 ...
- Maven 学习笔记(一) 基础环境搭建
在Java的世界里,项目的管理与构建,有两大常用工具,一个是Maven,另一个是Gradle,当然,还有一个正在淡出的Ant.Maven 和 Gradle 都是非常出色的工具,排除个人喜好,用哪个工具 ...
- Spring框架的JDBC模板技术概述
1. Spring框架中提供了很多持久层的模板类来简化编程,使用模板类编写程序会变的简单 2. 提供了JDBC模板,Spring框架提供的 * JdbcTemplate类 3. Spring框架可以整 ...
- macos修改vmware Fusion的NAT网络
https://blog.csdn.net/zhishengqianjun/article/details/77046796 http://pubs.vmware.com/fusion-5/index ...
- Oracle 基础表查询
--查询所有用户表的数据 SELECT * FROM ALL_TABLES WHERE OWNER='USER_NAME' --如果是用该用户登录使用以下语句: SELECT * FROM USER_ ...
- laravel的函数asset()、url()
1.asset():用于引入静态文件,如 css/JavaScript/images,文件必须存放在public文件目录下 src="{{ asset('home') }}/images/t ...
- 类里面的非static const成员
类里面的成员变量可以用const修饰,在只用const不用static修饰的情况下,这种使用的限制比较多 (1)不能定义处初始化,必须在类的构造函数初始化列表里面初始化(虽然在vs中,可以在定义处初始 ...
- dev ChartControl 备忘
一个chartControl 里包括以个diagram(图表) diagram里可以设置 x-axis与y-axis ,另外还可以设置SecondaryXAxis与SecondaryYAxis,在Se ...
- Linux抓包
默认系统里边没有安装有tcpdump的,无法直接使用 这里我们可以使用yum来直接安装它 yum install -y tcpdump 如果忘记了这个软件的用法,我们可以使用 tcpdump ...
- Linux下安装配置 Jdk1.6+Tomcat6+Apache2.2.x+jk_mod1.2 详解
本篇以Redhat AS5,内核为Linux 2.6.18-8.el5 为例,其中Redhat/Fedora系列基本一致,其他Linux或者版本均可以参考. STEP 1 软件下载:1. jdk1.6 ...