随机数查询测试 MongoDB 的 Python 代码
写库程序
#!/usr/bin/env python
from pymongo import Connection
import time
import datetime
connection = Connection('127.0.0.1', 27017)
db = connection['hawaii']
#时间记录器
def func_time(func):
def _wrapper(*args,**kwargs):
start = time.time()
func(*args,**kwargs)
print func.name,'run:',time.time()-start
return _wrapper
@func_time
def insert(num):
posts = db.userinfo
for x in range(num):
post = {"_id" : str(x),
"author": str(x)+"Mike",
"text": "My first blog post!",
"tags": ["mongodb", "python", "pymongo"],
"date": datetime.datetime.utcnow()}
posts.insert(post)
if name == "main":
#设定循环500万次
num = 5000000
insert(num)
查询程序
#!/usr/bin/env python
from pymongo import Connection
import time
import datetime
import random
connection = Connection('127.0.0.1', 27017)
db = connection['hawaii']
def func_time(func):
def _wrapper(*args,**kwargs):
start = time.time()
func(*args,**kwargs)
print func.name,'run:',time.time()-start
return _wrapper
#@func_time
def randy():
rand = random.randint(1,5000000)
return rand
@func_time
def mread(num):
find = db.userinfo
for i in range(num):
rand = randy()
#随机数查询
find.find( {"author": str(rand)+"Mike"} )
if name == "main":
#设定循环100万次
num = 1000000
mread(num)
删除程序
#!/usr/bin/env python
from pymongo import Connection
import time
import datetime
connection = Connection('127.0.0.1', 27017)
db = connection['hawaii']
def func_time(func):
def _wrapper(*args,**kwargs):
start = time.time()
func(*args,**kwargs)
print func.name,'run:',time.time()-start
return _wrapper
@func_time
def remove():
posts = db.userinfo
print 'count before remove:',posts.count();
posts.remove({});
print 'count after remove:',posts.count();
if name == "main":
remove()