redis和mysql各自存储不同的数据
2017-06-20 16:16
323 查看
看到很多网站都是用redis作为mysql的缓存使用。
但redis不是自身就可以持久化吗?是否可以让redis和mysql各自存储不同的数据?
另外,redis是单线程的,在OLTP系统中,是否会出现性能问题?
首先要知道mysql存储在磁盘里,redis存储在内存里,redis既可以用来做持久存储,也可以做缓存,而目前大多数公司的存储都是mysql + redis,mysql作为主存储,redis作为辅助存储被用作缓存,加快访问读取的速度,提高性能
那么为什么不直接全部用redis存储呢?
我的看法是:因为redis存储在内存中,如果存储在内存中,存储容量肯定要比磁盘少很多,那么要存储大量数据,只能花更多的钱去购买内存,造成在一些不需要高性能的地方是相对比较浪费的,所以目前基本都是mysql(主) + redis(辅),在需要性能的地方使用redis,在不需要高性能的地方使用mysql,好钢用在刀刃上.
redis和mysql要根据具体业务场景去选型
mysql:数据放在磁盘
redis:数据放在内存 (注:Redis的key要求全部放在内存,值可以部分放在内存里面)
redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景
排行榜
计数器
消息队列推送
好友关注,粉丝
但redis不是自身就可以持久化吗?是否可以让redis和mysql各自存储不同的数据?
另外,redis是单线程的,在OLTP系统中,是否会出现性能问题?
首先要知道mysql存储在磁盘里,redis存储在内存里,redis既可以用来做持久存储,也可以做缓存,而目前大多数公司的存储都是mysql + redis,mysql作为主存储,redis作为辅助存储被用作缓存,加快访问读取的速度,提高性能
那么为什么不直接全部用redis存储呢?
我的看法是:因为redis存储在内存中,如果存储在内存中,存储容量肯定要比磁盘少很多,那么要存储大量数据,只能花更多的钱去购买内存,造成在一些不需要高性能的地方是相对比较浪费的,所以目前基本都是mysql(主) + redis(辅),在需要性能的地方使用redis,在不需要高性能的地方使用mysql,好钢用在刀刃上.
redis和mysql要根据具体业务场景去选型
mysql:数据放在磁盘
redis:数据放在内存 (注:Redis的key要求全部放在内存,值可以部分放在内存里面)
redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景
排行榜
计数器
消息队列推送
好友关注,粉丝
相关文章推荐
- mysql如何选择合适的数据类型存储不同的数据
- 不同应用共享redis应用,但分数据库存储数据
- mysql数据量很大时两种不同存储过程
- redis,mysql,memcache的区别与比较,redis两种数据存储持久化方式
- 用scrapy-redis爬去新浪-以及把数据存储到mysql\mongo
- MySQL 存储 schema-less的数据
- Mysql数据备份以及异地存储
- 留个记念,第一次写这么长的存储过程。关于台湾地址excel中数据从一张表中导入另一张不同结构的表!
- MySQL的数据存储格式:按照读写比的选择
- MySQL从多个表中删除数据的存储过程
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- Redis(超高性能数据库)持久化Key-Value数据存储
- MySQL存储引擎和数据类型
- mysql存储过程之游标遍历数据表
- 不同版本SQL Server数据库的存储数据方案
- 如何修改mysql数据文件存储位置
- MySql 存储过程使用游标循环插入数据示例
- 几种不同存储形式下的数据挖掘问题(转载)
- mysql不同编码数据间的转换
- 可插式数据存储引擎 MySQL走向企业级