前言
24年的时候,编写的脚本,一直没时间记录,现在趁着时间充足,记录下来。
测试工作中,有时会在性能场景中出现批量插入的预制数据条件,有时需要在redis中插入大量的测试数据,这时可以使用python读取excle进行批量插入数据的方法进行操作。
该方法使用python语言
插入方法
读取excel,然后执行代码
以下是redis插入的代码,供参考:
import redis
import json
import xlrd
#打开excel文件
book = xlrd.open_workbook(r'文件路径')
sheets = book.sheet_names() # 获取所有sheet表名
sheet = book.sheets()[0] # 按索引获取第一个sheet的名称
# for sheet in sheets:
sh = book.sheet_by_name('test1') # 打开所有的表
row_num = sh.nro ws
print(row_num)
r = redis.StrictRedis(host='ip', port=端口号, db=0, password='')
pipe = r.pipeline()
# 使用pipeline批量插入数据
for i in range(1, row_num):
row_data = sh.row_values(i)
print(row_data[0])
#连接测试环境的redis
# JSON字符串
#data = json.dumps({"id": row_data[0],"extend": {"token": row_data[1],"id": row_data[2],"jfId": row_data[3],"name": row_data[4],"nickname": row_data[5],"mobile": row_data[6],"headPicUrl": row_data[7]}})
data = json.dumps({"id": row_data[0],"extend": {"token": row_data[1],"id": row_data[2],"jfId": row_data[3],"name": row_data[4],"nickname": row_data[5],"mobile": row_data[6],"headPicUrl": row_data[7]}})
#json_str = '{"id": "'+row_data[0]+'","extend": {"token": "'+row_data[1]+'","id": "'+row_data[2]+'","jfId": "'+row_data[3]+'","name": "'row_data[4]'","nickname": row_data[5],"mobile": row_data[6],"headPicUrl": row_data[7]}}'
# 定义层级数据
data02 = {
row_data[8]: data,
#"authorize:code:bededdcefbd9481f81b9ac66cf2ed4f7": "b9620974-afbf-495d-99f1-6f5e37084637"
}
# 设置键值对
for key, value in data02.items():
pipe.set(key,value)
pipe.execute()
# 关闭连接
r.close()
删除
import redis
import json
import xlrd
book = xlrd.open_workbook(r'文件路径') # 打开excel文件
sheets = book.sheet_names() # 获取所有sheet表名
sheet = book.sheets()[0] # 按索引获取第一个sheet的名称
# for sheet in sheets:
sh = book.sheet_by_name('test1') # 打开所有的表
row_num = sh.nrows
print(row_num)
for i in range(1, row_num):
row_data = sh.row_values(i)
print(row_data[0])
# 连接到本地的Redis服务器,默认端口为6379
r = redis.StrictRedis(host='ip', port=6379, db=0,password='E718GVQGwWJ52fCkyd0oKhiQ')
# 插入数据
#r.set('mykey', 'myvalue')
# 删除数据
result = r.delete(row_data[8])
# 检查是否成功删除
if result == 1:
print("数据已成功删除")
else:
print("数据不存在或未能删除")
查询数据量
import redis
# 创建 Redis 客户端连接
r = redis.StrictRedis(host='ip', port=6379, db=0, password='E718GVQGwWJ52fCkyd0oKhiQ')
# 获取指定数据库中的键的数量
data_count = r.dbsize()
print(f"db0 中的数据量: {data_count}")
1739

被折叠的 条评论
为什么被折叠?



