redis+mysql的优点和缺点

edis和mysql要根据具体业务场景去选型 mysql:数据放在磁盘 redis:数据放在内存 redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景 排行榜、计数器、消息队列推送、好友关注、粉丝 首先要知道mysql存

edis和mysql要根据具体业务场景去选型

mysql:数据放在磁盘   redis:数据放在内存

redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景

排行榜、计数器、消息队列推送、好友关注、粉丝

首先要知道mysql存储在磁盘里,redis存储在内存里,redis既可以用来做持久存储,也可以做缓存,而目前大多数公司的存储都是mysql + redis,mysql作为主存储,redis作为辅助存储被用作缓存,加快访问读取的速度,提高性能
那么为什么不直接全部用redis存储呢?
我的看法是:因为redis存储在内存中,如果存储在内存中,存储容量肯定要比磁盘少很多,那么要存储大量数据,只能花更多的钱去购买内存,造成在一些不需要高性能的地方是相对比较浪费的,所以目前基本都是mysql(主) + redis(辅),在需要性能的地方使用redis,在不需要高性能的地方使用mysql,好钢用在刀刃上

1、mysql支持sql查询,可以实现一些关联的查询以及统计;

2、redis对内存要求比较高,在有限的条件下不能把所有数据都放在redis;

3、mysql偏向于存数据,redis偏向于快速取数据,但redis查询复杂的表关系时不如mysql,所以可以把热门的数据放redis,mysql存基本数据


本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

在mysql中可以用group by对查询出的数据分组 select id,service,name FROM service GROUP BY name,service 如果要查看每组数据的总数,可以 select count(*) FROM service GROUP BY name,service 当要查询group by后的总数,可以这样 select count(*) from(s
摘要: SQL的WHERE子句中包含多个AND和OR 示例: SQL解析器在处理操作时会优先处理and操作: 假如有表product字段如下:id、product_id、product_price、product_name,现在要查找产品号为100或者101,并且价格大于200的商品,程序员可能会这样写: select * fr
float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,用于定义货币要求精确度高的数据。在数据迁移中,float(M,D)是非标准定义,最好不要这样使用。M为精度,D为标度。 mysql create table t1(c1 fl
MySQL 支持的三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值。 与整数一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。比如语句 FLOAT(7,3) 规定显
方式1、 INSERT INTO t1(field1,field2) VALUE (v001,v002); // 明确只插入一条Value 方式2、 INSERT INTO t1(field1,field2) VALUE S (v101,v102),(v201,v202),(v301,v302),(v401,v402); 在插入批量数据时方式2优于方式1. 方式3.1、 INSERT INTO t2(field1,
数据挖掘,又称为资料探勘、数据采矿。它是数据库知识发现(英语:Knowledge-DiscoveryinDatabases,简称:KDD)中的一个步骤,是一个挖掘和分析大量数据并从中提取信息的过程。其中一些应用包括市场细分-如识别客户从特定品牌购买特定产品的特征,欺诈检测-