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


现状:

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 -*-
import time
import redis


class T:
    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_begin

    if qq:
        print("数据查询成功,耗时", time2)
    else:
        print("数据查询失败,耗时", time2)

 

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

 

遗留问题:

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM