关于消息队列

  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 学习十一的更多相关文章

  1. 从零开始学习PYTHON3讲义(十一)计算器升级啦

    (内容需要,本讲中再次使用了大量在线公式,如果因为转帖网站不支持公式无法显示的情况,欢迎访问原始博客.) <从零开始PYTHON3>第十一讲 第二讲的时候,我们通过Python的交互模式来 ...

  2. python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

    python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0.zfill()方法语法:s ...

  3. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

  4. python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容

    python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖 ...

  5. python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容

    python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...

  6. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

  7. 【转载】 强化学习(十一) Prioritized Replay DQN

    原文地址: https://www.cnblogs.com/pinard/p/9797695.html ------------------------------------------------ ...

  8. python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置

    python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...

  9. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

随机推荐

  1. 【转】从源码浅析MVC的MvcRouteHandler、MvcHandler和MvcHttpHandler

    原文:http://www.cnblogs.com/jeffwongishandsome/archive/2012/01/08/2316521.html 熟悉WebForm开发的朋友一定都知道,Pag ...

  2. css设置超出部分文档隐藏(在table标签中不好使解决方案在下)

    css设置: .text-over{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;cursor: pointer} div设 ...

  3. jquery正则表达式验证:验证身份证号码

    需求说明: 前端页面使用正则表达式验证文本输入框输入的身份证号码是否符合规则. 代码说明: 这里只介绍正则表达式部分,其他部分的代码不做介绍.如有其它需求请自行修改即可. 步骤一:建立一个页面可以是h ...

  4. jquery源码解读 (摘自jQuery源码分析系列图书(pdf)) 持续更新

    1.总体架构 1.1自调用匿名函数 //自调用匿名函数 (function(window,undefined){ //jquery code})(window); 1.这是一个自调用匿名函数.第一个括 ...

  5. 嵌入式的SQL程序设计

    嵌入式的SQL程序设计 sql语句大全之嵌入式SQL 2017-01-18 16:00 来源:未知   嵌入式SQL 为了更好的理解嵌入式SQL,本节利用一个具体例子来说明.嵌入式SQL允许程序连接数 ...

  6. Codeforces 660A. Co-prime Array 最大公约数

    A. Co-prime Array time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  7. window安装设置

    https://jingyan.baidu.com/article/73c3ce28ed7d92e50243d96c.html

  8. Netty 源码 NioEventLoop(一)初始化

    Netty 源码 NioEventLoop(一)初始化 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) Netty 基于事件 ...

  9. 第一个Django应用

    Django教程:http://www.liujiangblog.com/course/django/2 第一个Django应用 该应用包括以下两个部分: 一个可以让公众用户进行投票和查看投票结果的站 ...

  10. UVa 1596 Bug Hunt (STL栈)

    题意:给定两种操作,一种是定义一个数组,另一种是赋值,让你找出哪一步时出错了,出错只有两种,一种是数组越界,另一种是访问未定义变量. 析:当初看到这个题时,感觉好麻烦啊,然后就放过去了,而现在要重新回 ...