浅谈关于mysql和mongodb和redis怎么选择

浅谈关于mysql和mongodb和redis怎么选择

MySQL MongoDB redis
查询速度(相对)
支持事务? 是(仅能保证按顺序执行)
存储方式 在不同的引擎有不同的存储方式(常涉及IO) 虚拟内存+持久化 全部在内存,定期持久化备份
数据结构 类似于excel JSON格式和BSON格式 K-V格式
关系型?
拓展性 可通过分表等操作 通过复制集分片等 集群分片

举个例子:

  1. MySQL适合作为主库,存储一些不经常需要改动的信息,例如用户信息,博客内容等

  2. MongoDB适合存储 丢失一两个数据也无关紧要的数据,并且数据量大,数据结构比较特别的(地理坐标等),例如点赞 分享数,评论内容,粉丝信息等

  3. redis适合存储用户经常访问的数据,例如用户登录的token,短时间内sql查询量高的数据也可存入redis.

总结一下,MySQL可以理解为作为excel存入硬盘(速度相对较慢),redis全部存在内存(内存空间宝贵,速度相对较快),MongoDB夹在两者中间

如果觉得我总结的不好,有问题可以指出,后期我看到会进行修改

你可能感兴趣的:(mongodb,redis,mysql)