阿里云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空间,这个不符合我的诉求; 需要后期上其他方案,降低内存的占用
阿里云Redis性能测试结果(1个集合存300万数据,查询能几秒返回结果)的更多相关文章
- 用StackExchange.Redis客户端连接阿里云Redis服务遇到的问题
阿里云推荐的Redis服务.NET客户端是ServiceStack.Redis,但ServiceStack.Redis不支持异步,不支持.NET Core,于是尝试使用StackExchange.Re ...
- 阿里云 Redis 服务遇到的问题
ERR unknown command eval 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: St ...
- 阿里云ECS连接阿里云Redis问题
描述 项目之前的服务器使用Windows,Redis使用阿里云的云数据库Redis版,一切正常. 后来了更换了Linux,也配置好了Redis,但连接阿里云的Redis时却怎么也连接不上 原因 ECS ...
- 一份完整的阿里云 Redis 开发规范,值得收藏!
来源:yq.aliyun.com/articles/531067 作者:付磊-起扬 本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明. 键值设计 命令使用 客户端使用 相关工具 通 ...
- 阿里云Redis开发规范
转自: https://yq.aliyun.com/articles/531067 摘要: 本文介绍了在使用阿里云Redis的开发规范,从键值设计.命令使用.客户端使用.相关工具等方面进行说明,通过本 ...
- Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)
# 安装rinetd wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz& ...
- 阿里云Redis开发规范[转]
一.键值设计 1. key名设计 (1)[建议]: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id ugc:video:1 (2)[建议]:简洁性 ...
- 使用99元一年的256MB高性能阿里云Redis加速Discuz论坛
介绍 Discuz是一个常见的论坛,支持使用Redis来对论坛进行加速访问,对于访问量比较大的论坛能够取到很好的作用,本文介绍如何使用阿里云高性价比256MBRedis来加速该论坛. 阿里云Redis ...
- 阿里云Redis开发规范(转)
一.键值设计 1. key名设计 (1)[建议]: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id ugc:video: (2)[建议]:简洁性 ...
随机推荐
- 基于Tesseract的OCR识别小程序
一.背景 先说下开发背景,今年有次搬家找房子(2020了应该叫去年了),发现每天都要对着各种租房广告打很多电话.(当然网上也找了实地也找),每次基本都是对着墙面看电话号码然后拨打,次数一多就感觉非常麻 ...
- Python 植物大战僵尸代码实现: 图片加载和显示切换
游戏介绍以前很火的植物大战僵尸游戏, 本想在网上找个python版本游戏学习下,无奈没有发现比较完整的,那就自己来写一个把.图片资源是从github上下载的,因为图片资源有限,只能实现几种植物和僵尸. ...
- 06_URL参数截取
1:如何获取URL传给子页面的参数: //获得参数(只对字母数字等有效,参数值为中文则不能传) function getQueryString(name) { var reg = new RegExp ...
- Redis系列之----Redis的数据类型及使用场景
Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,能够提供多种不同的键值数据类型来适应不同场景下的缓存和存储需求. Redis中所有的数据都存储在内存中,因此读写速度非常快,相 ...
- 【python小随笔】动态创建变量名
PS:有时候我们不知道列表组数里存放几个值,但是又要动态的遍历这些值并且动态的创建每一个对应的一个变量里: t = ['B0716PK6R2','B077X9J24C','B01N2SBH4J'] c ...
- 2019牛客暑期多校第一场题解ABCEFHJ
A.Equivalent Prefixes 传送门 题意:给你两个数组,求从第一个元素开始到第p个元素 满足任意区间值最小的元素下标相同的 p的最大值. 题解:我们可以从左往右记录到i为止每个区间的最 ...
- vue根据选择的月份动态展示当前月份的每一天并展示每一天所对应的星期几
我们在开发过程中所遇到的所有的奇奇怪怪的交互美其名曰用(奇)户(葩)体(需)验(求),而产品所谓的良好的交互效果,在我等开发人员眼里不值一提.不屑一顾.讨厌至极! 对于这样的需求,我通常都是: 但胳膊 ...
- 原生javascript 元素依次掉落及上升
一.实现原理: ① 通过onoff开关,判断元素是往下走 还是往上走,并在每次清除定时器后,把onoff 设为 !onoff,以便下次点击做判断 ②move函数的运用 二.代码 <!DOCTYP ...
- NOIP提高组2018试题解析 Day1 T1 铺设道路 P5019
题目描述 春春是一名道路工程师,负责铺设一条长度为 nn 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 nn 块首尾相连的区域,一开始,第 ii 块区域下陷的深度为 d_idi ...
- .net 解析嵌套JSON
JSON格式文件如下:我们是要取出msgJsoncontent里面GeneralReportInfo下serviceData中的totalUseValue数据 { ", "mess ...