使用redis-py-cloud操作redis5 stream数据

redis-py-cloud 是基于redis-py-cluster 开发的redis集群包,特别支持redis5.0的stream新特性。目前支持的命令有 xadd, xread, xreadgroup, xack 等。

 

包下载地址:

https://github.com/ChinaGoldBear/redis-py-cloud

或pip install:

pip install redis-py-cloud

 

基本操作:

1.连接集群

from rediscluster import RedisCluster

'''连接集群'''
startup_nodes = [{"host": "ip3", "port": "7000"},
                 {"host": "ip2", "port": "7000"},
                 {"host": "ip1", "port": "7000"}, ]
 
REDIS_CLUSTER = RedisCluster(startup_nodes=startup_nodes, decode_responses=True)

 

2.xadd

REDIS_CLUSTER.xadd("mystream", "*", 100,{"name": "data"})

 

3.xread

REDIS_CLUSTER.xread("mystream","*",1) # 非阻塞读取最后一条

REDIS_CLUSTER.xread("mystream","*",1,0) # 阻塞读取最后一条

REDIS_CLUSTER.xread("mystream","*",10,0) # 阻塞读取最后10条

REDIS_CLUSTER.xread("mystream","1527849629172-0",1,0) # 阻塞读取特定消息

4. xrange

REDIS_CLUSTER.xrange("mystream","-","+") # -表示最小值, +表示最大值

REDIS_CLUSTER.xrange("mystream","1527849629172-0","+") # 指定最小消息ID的列表

REDIS_CLUSTER.xrange("mystream","-","1527849629172-0") # 指定最大消息ID的列表

 

 5.xreadgroup

REDIS_CLUSTER.xreadgroup("group_name","consumer_name","mystream",">",0) # 消息组读取,0表示阻塞读取

REDIS_CLUSTER.xreadgroup("group_name","consumer_name","mystream",">") # 消息组读取,非阻塞读取

REDIS_CLUSTER.xreadgroup("group_name","consumer_name","mystream","1527849629172-0") # 消息组特定消息读取,非阻塞读取

 

6.xack

REDIS_CLUSTER.xack("mystream","counsumer_name","1527849629172-0")  # ack消费组消息

 

 

其他stream命令请参考:

https://blog.csdn.net/enmotech/article/details/81230531

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值