MongoDB 或者 redis 可以替代 memcached 吗?

3个场景完全不同的东西。1.memcached:单一键值对内存缓存的,做对象缓存无可替代的分布式缓存;2.redis:是算法和数据结构的集合,快速的数据结构操作是他最大的特点,支持数据持久化;3.mongodb是bson结构、介于rdb和nosql之间的,更松散更灵活的,但是不支持事务,只用作非重要数据存储。
 
 

(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是作为缓存而不是断电后存储用的。特性不同哦。


 

 

你可能感兴趣的:(MongoDB 或者 redis 可以替代 memcached 吗?)