(memcached, radis) 和 (mongoDB) 的区别有两维
一是key value store vs. document database
一是内存型vs.硬盘型.
具体能不能替代, 还要看题主的活儿是什么.
radis和memcached基本是一回事, 应该可以替代.
如果memcached用的原因就是系统小+懒, 现在系统长大了不好用了要找permanent solution, mongoDB也不一定不是个好东西.
真心请教:从关系型数据库来到NoSQL的第一个问题:如何利用redis做类似在mysql中的级联查询?
1.需求场景:用户表,文章表,赞表,用户写的文章被赞,根据文章被赞的数量降序(如果被赞的数量相同按照文章创建时间升序)排序top100文章
2.三张表的表关系:
user(id,username,figure) <----------------------------------------
—————↑—————————————————— |
article(id,user_id,title,content,create_time) ————-- |
———————————↑———————————— |
praise(id,create_time,artical_id,user_id) --------------------|
3.当然用SQL语句来做是很容易的,那么现在需要用redis的NoSQL来做该需求,该怎么做呢?(ps:允许重新设计,只要能完成该功能即可)
谢谢!
mongodb和redis是作为数据库的, 并不是作为mc一样的缓存。应用领域不同。
如果说用mongodb做缓存?太消耗磁盘空间了。据我实验感觉,频繁读写对于mongodb并不是优点。mongodb的优点是解决类似like '%%'这样的查询时候用的。
至于redis可能是比较合适的替换工具了。但据我所知,redis有其数据库特性:日志,恢复等功能。单单从存储性能的角度来讲, 应该是不如mc的。
个人感觉,mc是作为缓存而不是断电后存储用的。特性不同哦。