首页 > 技术文章 > redis+mysql有几种用法?【摘录知乎】

dhjy123 2020-07-28 12:02 原文

https://www.zhihu.com/question/20734566/answers/updated

怎么用都可以,工具好比西红柿,可以做汤,也可炒菜,你随意啊~

 

redis 除了数据存储之外,提供了丰富的其它数据类型,在多种场景下可以作为方案的完美辅助而不用通过代码实现。

 

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


作者:二号猎人
链接:https://www.zhihu.com/question/20734566/answer/141628862
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
 
一般来说,写入数据是直接到mysql,读取类的是redis。 这样就说 mysql->redis的同步用的比较多。 mysql作为数据持久化和管理比redis好太多,redis大多只用来做 数据读取缓存、队列、锁、等等的使用。 持久化的话也提供了rdb、aof 保证数据的实时不丢失。

mysql->redis实时同步可参考这个配置


作者:彼得潘大叔
链接:https://www.zhihu.com/question/20734566/answer/131789607
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
redis,最关键是队列,对于一定要按先后顺序的交易场景是非常有用的,比如库存扣减,在线交易的支付等,就可以将交易操作压入队列,按顺序来处理,这样就能保证交易数据的完整性
 
redis和mysql要根据具体业务场景去选型
  • mysql:数据放在磁盘
  • redis:数据放在内存
redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景
  • 排行榜
  • 计数器
  • 消息队列推送
  • 好友关注,粉丝
还是具体问题具体分析,这里有文章分享:Redis文章分享
看能帮到你吗?


作者:靳洪飞
链接:https://www.zhihu.com/question/20734566/answer/64965337
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
之前看到有个案例 全站都用redis做缓存和持久存储 相当时髦
 
 

推荐阅读