PyMongodb中ReplicaSetConnection的使用

  mongodb中的副本集使用,本机测试【使用python】!

  当mongodb服务器是配置成replica set模式时,那么,驱动python端,改作出什么样的代码兼容(单击模式和replica set模式)

  翻看pymongo1.9的API中,可知,连接上后端的replica set服务器集,Connection和ReplicaSetConnection都可以。

  提供测试代码:
  

 1 import time
 2 from pymongo import ReplicaSetConnection
 3 # [u'morton.local:27019', 'morton.local:27017', u'morton.local:27018']
 4 conn = ReplicaSetConnection(
 5             "localhost:27017,localhost:27018,localhost:27019", 
 6             replicaSet="gameSet",
 7             read_preference=2, safe=True)
 8 print conn
 9 print conn.primary
10 print conn.seeds
11 print conn.secondaries
12 print conn.read_preference
13 print conn.server_info()
14 
15 for i in xrange(1000):
16     conn.xxoo.xo.insert({"name":"GOODODOO" + str(i)})
17     time.sleep(2)
18     print conn.primary
19     print conn.seeds
20     print conn.secondaries
21     print conn.read_preference

  

  【写操作】加上time.sleep()是方便调试,比如尝试各种后端replica set节点断开,重连接的情况。

  1.当从节点断开时,程序依旧运行良好,后端由于某个非主节点断开,会进行一次选举,选出新的主节点

  2.当主节点断开时,程序抛出异常AutoConnection,说明,写操作时在主节点上进行的

  【读操作】,主节点断开后,程序依旧运行,说明,读操作是自动连接到replica set的从节点上的

  

1 for i in xrange(10000):
2      conn.xxoo.xo.find({})
3      time.sleep(2)
4      print conn.primary
5      print conn.seeds
6      print conn.secondaries
7      print conn.read_preference

 

 

  

转载于:https://www.cnblogs.com/javapy/archive/2012/10/16/2726294.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值