mysql - redis和mongodb怎么结合
问题描述
就是拿mongodb或mysql做存储数据库,然后redis做缓存。搭建好数据库之后,怎么搭建redis,让他们结合起来运用到项目中呢?mysql+redis可以的吗?谢谢了
问题解答
回答1:题主问的太宽泛了,不好回答;简单说,做缓存需要考虑几点:1.缓存热点数据,针对自己的业务和数据结构特点,适当地选择或组合redis的数据结构进行存储。2.缓存的更新和失效策略。想不到了,以后再补充。举个例子:mongodb+redismongodb可以对数据进行聚合,后台起cron,对数据每小时mapReduce一次,计算好的数据写到redis中保存(也可以直接输出到mongo collection中),前台查询redis 拿到聚合好的数据。
回答2:虽然我代表的是MongoDB,以下的回答看起来会很有安利自己产品的嫌疑,还是要提醒楼主注意一些问题。从问的问题来看,楼主对MongoDB或Redis都不熟,得出了用MongoDB+Redis来结合做项目的结论估计是看了哪篇文章的分享吧?不可否认,在某些很极端的场合在MongoDB前面再加一层Redis可能可以得到一定的收益,但是楼主是否考虑过自己的实际情况,是否真的到了需要在MongoDB前面加Redis的地步?要知道引入一项新技术,无论是维护成本还是开发成本,以及对开发人员的要求都会成倍增加。比如原来可以直接从数据库读的东西,现在要考虑什么时候该从缓存读取,相应的就要考虑缓存如何刷新,脏数据该怎么办?这些问题说起来好像并不难,但不管什么问题放到高并发环境里就没有简单的问题。说句不中听的,楼主如果有足够的经验应付好上面这些问题,也就不会提现在这个问题了。幸运的是通常来说项目的并发还高不到需要两个一起用的地步,因为MongoDB已经有足够强的应付高并发的能力和水平扩展的能力。所以抛开别人的意见不说,楼主自己应该想清楚这些问题:是什么驱使你把两项技术放在一起使用,你想从中得到什么好处?更重要的,如果只用其中一项技术,是不是也能解决问题?如果没有足够的证据说服自己,不妨实测一下用数据说话。
回答3:没什么不可以的,reids安装很简单,看官方文档就知道啦
相关文章:
1. docker-compose中volumes的问题2. vim - docker中新的ubuntu12.04镜像,运行vi提示,找不到命名.3. python 多进程 或者 多线程下如何高效的同步数据?4. docker 下面创建的IMAGE 他们的 ID 一样?这个是怎么回事????5. docker-compose 为何找不到配置文件?6. php - 想要远程推送emjio ios端怎么搞 需要怎么配合7. java - Hibernate查询的数据是存放在session中吗?8. 一个走错路的23岁傻小子的提问9. angular.js - node.js中下载的angulae无法引入10. android - 添加multidex后在部分机型上产生anr的问题,该如何解决
