关于消息队列

  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. FutureTask详解

    1 基本概念 1.1 Callable与Future Runnable封装一个异步运行的任务,可以把它想象成为一个没有参数和返回值的异步方法.Callable与Runnable类似,但是有返回值.Ca ...

  2. 带你认识那些App可靠性设计

    可靠性是软件一个重要的质量属性,它关注的是软件功能持续的可用性,以及出现故障之后是否能够容错,是否能快速的恢复使用. 可靠性六条基本准则 1.故障应在第一时间被检测和感知: 2.能避免的故障都不应该发 ...

  3. phpstrom+xdebug配置

    1.确认是否安装了xdebug 2.在php.ini文件中配置如下 [xdebug] zend_extension="D:\wamp\php-5.6.2-x64\ext\php_xdebug ...

  4. 关于adbd进程的ROOT权限问题

    http://blog.csdn.net/a345017062/article/details/6254402 adbd源码位于system/core/adb/目录下,可执行文件位于/sbin/adb ...

  5. DB2 runstats、reorgchk、reorg 命令【转载】

    1.runstats runsats可以搜集表的信息,也可以搜集索引信息.作为runstats本身没有优化的功能,但是它更新了统计信息以后,可以让DB2优化器使用最新的统计信息来进行优化,这样优化的效 ...

  6. 可视化 linux 无法启动eclipse 报错No java virtual machine

    点击eclipse的时候会产生这个 解决方案: (1)找到eclipse的安装目录(我这个是远程连接) 注意: 点击这里可以进入命令行编辑模式 点开后 (2)给文件授权(默认是只读的) (3)对文件进 ...

  7. select自定义下拉选择图标

    闲言少叙: 上CSS: appearance: none; -moz-appearance: none; -webkit-appearance: none; cursor: pointer; back ...

  8. MarkdownPad 2.x破解下载

    Markdown是一种轻量级的标记语言,目前有不少Markdown编辑器,其他的编辑器,诸如:Notepad++.Sublime Text 2也通过插件添加了支持.Markdown的特点就是易读易写, ...

  9. Hdu2612 Find a way 2017-01-18 14:52 59人阅读 评论(0) 收藏

    Find a way Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Su ...

  10. console的所有用法

    http://jingyan.baidu.com/article/e75aca855c6419142edac6c1.html  参考它. console.info(), console.debug() ...