python使用ssdb的队列,用于替换canal+rabbitmq

# pip install -i https://mirrors.aliyun.com/pypi/simple/ pyssdb

import pyssdb

c = pyssdb.Client(‘172.17.91.21‘,8888)
queueName=‘mysqlreplaction_test‘
# 清空一下队列
c.qclear(queueName)

c.qpush(queueName,1)
c.qpush(queueName,2)
c.qpush(queueName,3)
c.qpush(queueName,4)
c.qpush(queueName,5)
# 队列长度
l=c.qsize(queueName)
print(‘队列长度:‘+str(l))

# 只读取前3 个,不清除
list1=c.qslice(queueName,0,2)
print(list1)

# 清除掉前3个
c.qtrim_front(queueName,3)

# 再尝试读取3个
list1=c.qslice(queueName,0,2)
print(list1)

l=c.qsize(queueName)
print(‘队列长度:‘+str(l))
c.disconnect()
print(‘已成功断开链接!‘)

#   这是两个python脚本 ,一个是从mysql binlog中读取信息,导入到ssdb list中,另一个是监控ssdb的list,将数据批量上传到kafka,不要使用线程!

原文地址:https://www.cnblogs.com/littlehb/p/9295857.html

时间: 2024-11-03 21:17:20

python使用ssdb的队列,用于替换canal+rabbitmq的相关文章

Python图像处理(1):替换OpenCV

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 先前构造图像处理开发环境的时候,用一个别人编译好的安装包将OpenCV安装到了c:\python27\lib\site-packages目录下,但这个OpenCV没有符号表,无法进行C/C++的代码调试.我们用VS编译的OpenCV替换它. 首先修改OpenCV的Python接口工程,将其输出到python的库目录下,

Python字符串拼接、截取及替换方法总结

字符串拼接: 用字符串的join方法: a = ['a','b','c','d'] content = '' content = ''.join(a) print content content的结果:'abcd' 用字符串的替换占位符替换: a = ['a','b','c','d'] content = '' content = '%s%s%s%s' % tuple(a)  print content content的结果是:'abcd' 字符串截取: python的字串列表有2种取值顺序 1

Python 字典(Dictionary) clear()方法-用于删除字典内所有元素

描述 Python 字典(Dictionary) clear() 函数用于删除字典内所有元素. 语法 clear()方法语法: dict.clear() 参数 NA. 返回值 该函数没有任何返回值. 实例 以下实例展示了 clear()函数的使用方法: #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7}; print "Start Len : %d" % len(dict) dict.clear() print "End L

python的operator.itemgetter('click')用于定义获取'click'项的函数

b = operator.itemgetter(1)  定义函数b,用于获取传入list的第1域的值 可以将b用于sort函数的key.作为排序的依据. adn_app_data_map是个字典 for key, app_arr in adn_app_data_map.items(): app_arr.sort(key=operator.itemgetter('click'), reverse=True) app_arr = app_arr[:3] keys = key.split('#') c

使用数据库构建高性能队列用于存储订单、通知和任务(转)

英文原文: http://www.codeproject.com/Articles/110931/Building-High-Performance-Queue-in-Database-for-st 译文:http://www.oschina.net/translate/building-high-performance-queue-in-database-for-storing-orders 译者:几点人, beyondme, 漠天, petert, 赵亮-碧海情天, FGQ 引言 几乎在每个

Python自动化开发学习的第十周----RabbitMQ

RabbitMQ   消息队列   消息的传递 安装   http://www.rabbitmq.com/install-standalone-mac.html 如果是在windows上安装还要安装erlang语言 安装python RabbitMQ pip install pika or easy_install pika or 源码 https://pypi.python.org/pypi/pika 实现最简单的队列通信 http://www.rabbitmq.com/getstarted.

消息队列 - Spring Boot 对rabbitmq批量处理数据的支持

消息队列 - Spring Boot 对rabbitmq批量处理数据的支持 一丶前言 在生产中,存在一些场景,需要对数据进行批量操作.如,可以先将数据存放到redis,然后将数据进行批量写进数据库.但是使用redis,不得不面对一个数据容易丢失的问题.也可以考虑使用消息队列进行替换,在数据持久化,数据不丢失方面,消息队列确实比redis好一点,毕竟设计不一样.是不是使用消息队列,就一定好呢?不是的,首先使用消息队列,不能确保数据百分百不丢失,(如果要做到百分百不丢失,设计上就会比较复杂),除此之

python Event对象、队列和多进程基础

Event对象 用于线程间通信,即程序中的其一个线程需要通过判断某个线程的状态来确定自己下一步的操作,就用到了event对象 event对象默认为假(Flase),即遇到event对象在等待就阻塞线程的执行. 示例1:主线程和子线程间通信,代码模拟连接服务器 1 import threading 2 import time 3 event=threading.Event() 4 5 def foo(): 6 print('wait server...') 7 event.wait() #括号里可

python:多进程,多进程队列,多进程管道,Manager,进程锁,进程池

#!usr/bin/env python# -*- coding:utf-8 -*- __author__ = "Samson" import multiprocessingimport time def run(name): time.sleep(2) print("process start...%s" % name)if __name__ == "__main__": for i in range(10): p = multiprocess