阿里云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)[建议]:简洁性 ...
随机推荐
- IHostingEnvironment VS IHostEnvironment - .NET Core 3.0中的废弃类型
原文: https://andrewlock.net/ihostingenvironment-vs-ihost-environment-obsolete-types-in-net-core-3/ 作者 ...
- html页脚固定在底部的方法
<style type="text/css"> html { height: 100%; } body { height: 100%; margin: 0; paddi ...
- Spring Security详解
Spring Security 一. 简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文 ...
- notpad++使用cmd的快捷键设置
notepad++运行批处理的设置: 运行 --> 输入运行程序名"$(FULL_CURRENT_PATH)" --> 保存(自定义的快捷键即可运行)
- JavaScript中函数式编程中文翻译
JavaScript 中的函数式编程 原著由 Dan Mantyla 编写 近几年来,随着 Haskell.Scala.Clojure 等学院派原生支持函数式编程的偏门语言越来越受到关注,同时主流的 ...
- ASP.NET Core Web程序托管到Windows 服务
前言 在 .NET Core 3.1和WorkerServices构建Windows服务 我们也看到了,如何将workerservices构建成服务,那么本篇文章我们再来看看如何将web应用程序托管到 ...
- MySQL定时备份(全量备份+增量备份)
MySQL 定时备份 参考 zone7_ 的 实战-MySQL定时备份系列文章 参考 zmcyu 的 mysql数据库的完整备份.差异备份.增量备份 更多binlog的学习参考马丁传奇的 MySQL的 ...
- TensorFlow——tf.contrib.layers库中的相关API
在TensorFlow中封装好了一个高级库,tf.contrib.layers库封装了很多的函数,使用这个高级库来开发将会提高效率,卷积函数使用tf.contrib.layers.conv2d,池化函 ...
- 【Java并发基础】并发编程bug源头:可见性、原子性和有序性
前言 CPU .内存.I/O设备之间的速度差距十分大,为了提高CPU的利用率并且平衡它们的速度差异.计算机体系结构.操作系统和编译程序都做出了改进: CPU增加了缓存,用于平衡和内存之间的速度差异. ...
- Centos 7.2 Jenkins+Ansible+Gitlab 基础配置
注意:首先准备jenkins服务器 如何搭建jenkins 由于上篇文章中jenkins是采用war并部署在tomcat中来完成的安装,所以这里隆重介绍下启动tomcat的用户:tomcat,下面会 ...