redis同步效率秒_阿里云Redis性能测试结果(1个集合存300万数据,查询能几秒返回结果)...

本文介绍了作者在阿里云购买的一台1GB内存的主从Redis实例进行的性能测试。通过构造300万数据并使用命令管道导入,测试发现查询特定value的响应时间为0.04~0.08秒,证明Redis在存储大量数据时仍保持良好查询性能。然而,300万条16字节数据占用200MB空间,超过预期的45M,提出了内存占用过高问题。
摘要由CSDN通过智能技术生成

现状:

1、买了一台主从的阿里云Redis,内存就1GB。

2、查询了阿里云的帮助,没有找到性能相关的说明, 有的也是4GB版本的并发性能

3、提工单问客服 一个集合里有300万数据,单次查询性能大概怎么推算,客服让我自己验证(自己的产品性能如何都不知道,还卖货……)

解决方案:自己验证

1、构造300万数据, 写到文件1.txt,将数据写入到集合test500内

sadd test500 long_str10000001

sadd test500 long_str10000002

...

...

sadd test500 long_str13000000

2、在windows电脑上安装redis客户端,并通过命令管道快速导入这300万条命令(不带pipe,只能做到1小时导入30万条;带pipe就十几秒钟导入完成)

redis-cli -h xxx.redis.rds.aliyuncs.com -p 6379 -a password  --pipe <1.txt

3、在python中调用查询某个value,响应时间为0.04~0.08秒 【包括了网络响应的时长】

#-*- coding: utf-8 -*-

importtimeimportredisclassT:def __init__(self):

pool= redis.ConnectionPool(host='r-xxx.redis.rds.aliyuncs.com', port=6379,

password='xxx', db=1, decode_responses=True)

self.r= redis.Redis(connection_pool=pool)

self.value= 'long_str10000001'

if __name__ == '__main__':

t=T()

time_begin=time.clock()

qq= t.r.sismember('test500', 'long_str10031001')

time_end=time.clock()

time2= time_end -time_beginifqq:print("数据查询成功,耗时", time2)else:print("数据查询失败,耗时", time2)

结论:Redis的某一个集合,放百万数据,查询性能毫无影响。

遗留问题:

该集合是300万数据,每条数据16个字节,数据大小是45M左右,而存放到了阿里云的Redis,占用了200MB空间,这个不符合我的诉求; 需要后期上其他方案,降低内存的占用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值