2019/06/24日知识总结

1、RabbitMQ(消息队列)

Python中,threading QUEUE:限制于不同线程之间的数据同步交互;

Python中,进程 QUEUE:限制于父进程与子进程进行交互,或者同属于同一父进程下的多个子进程进行交互;

RabbitMQ是基于erlang语言的;

安装pika:pip install pika;

生产者:
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters("localhost"))
channel = connection.channel()     #声明一个管道

channel.queue_declare(queue='hello')
channel.basic_publish(exchange='',routing_key='hello',body='Hello word')
print("[x] send 'Hello World!'")
connection.close()

消费者:
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch,method,properties,body):
    print("--->",ch,method,properties)
channel.basic_consume(callback,queue='hello',no_ack=True)         #no_ack=True表示无须发确认
channel.start_consuming()

轮询机制:把消息依次公平的发给每个消费者;

生产者如何确认消费者任务是处理完的,需要消费者告诉其任务是否处理完,no_ack=True表示无须发确认;只要客户端没确认,生产者则不会将该条数据删除;

rabbitMQ下sbin目录下,通过命令:rabbitmqctl.bat list_queues查看有多少个queue及多少条消息;

rabbitMQ持久化:channel.queue_declare(queue='hello',durable=True);客户端和服务器端都要填写,防止数据丢失;持久化只是针对对列,而非队列里的数据持久化,若想消息持久化:在生产者端更改为如下代码:

channel.basic_publish(exchange='',routing_key='hello',body='Hello word',properties=pika.BasicProperties(delivery_mode=2))

广播类型:fanout、directe和topic;

 

 

 

2、Redis

单线程的key-value存储系统,其最高读写速度8万和10万;端口号默认6379;

连接Redis:redis-cli;

Python中如何操作Redis:

import redis
r=redis.Redis(host='10.211.55.4',port=6379)
r.set('foo','bar')
print(r.get('foo'))

redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以是实现多个Redis实例共享一个连接池;

import redis
pool = redis.ConnectionPool(host='10.201.*.*',port=6379)
r=redis.Redis(connction_pool=pool)
r.set('foo','Bar')
print(r.get('foo'))

 

3、进程

https://www.cnblogs.com/alex3714/articles/5230609.html

4、协成

 

5、线程

https://www.cnblogs.com/alex3714/articles/5143440.html

6、堡垒机

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值