MEMCACHED是用于动态Web应用程序的高性能分布式内存对象缓存系统,以减少数据库加载。IT可通过存储器中的缓存数据和对象减少读取数据库的数量,从而提供动态和数据库驱动的网站的速度。在存储密钥/值对的哈希姆普上。
港口(11211)
MEMCACHED可以使用多核优势。单样本吞吐量可以达到数十万个QP(取决于密钥,值和服务器硬件性能的字节大小。每日环境中的QPS峰值约为4-6W)。最大程度地适用。
[]()
它仅支持简单的密钥/值数据结构,与Redis不同,可以支持富数据类型。它不能执行,数据不能备份,只能用于缓存,并且在重新启动后丢失了数据。数据不能进行同步,并且MC中的数据不能迁移到其他MC实例。MEMCACHED内存分布采用板分配机制来管理内存。当值的大小之间的差异很大时,记忆利用率将降低,以及踢率的问题,当它导致较低的利用率时,用户需要专注于价值设计。
应用程序方案:
1.分布应,
2.数据库缓存的正面部分,
3.服务器之间的数据共享。
REDIS是一个开源(BSD许可证),是用于存储存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
港口(6379)
支持各种数据结构,包括字符串(字符串),列表(链接列表),set(collection)和zset(有序集合)。这些数据类型支持按/pop,添加/删除,以及平行和不同集合的集合和更丰富的操作,这些操作是原子。支持持久性操作,您可以执行AOF和RDB数据持久性磁盘,以便执行数据备份或数据恢复,这可以更好地防止数据丢失。通过复制进行支持数据复制。通过主奴隶机制,可以实时同步数据,以支持多级复制和增量复制。主奴隶机制是REDIS执行HA的重要手段。Single -threaded请求,所有命令均已连续执行,并且需要在并发的情况下考虑数据一致性问题。支持Pob/sub Message sisscription机制,哪些可以用于消息订阅和通知。它支持简单的交易需求,但是行业中很少有使用场景,并且不成熟。
REDIS只能使用单个线程,并且性能受到CPU性能的限制。它们既是优势又是缺点。REDIS在字符串类型上消耗更多的内存,并且可以使用DICE(哈希表)来压缩存储以减少内部存款消耗。
MC和Redis是键值的类型,不适合在不同的数据集之间建立关系,也不适合查询搜索。例如,Redis键模式的匹配操作是Redis的灾难。
应用程序方案:
1.与高速缓存的关系数据库合作
2.缓存高频数据以减少数据库IO
3.分布式体系结构,使会话共享
MongoDB是一个文档数据库。首先说明文档的数据库,即您可以存储XML,JSON和BSON的数据。
这些数据具有自我描述,并呈现类似树状的数据结构。REDIS可以使用哈希来存储简单的关系数据。
MongoDB存储JSON格式数据。
港口(27017)
合适:事件记录,内容管理或博客平台,例如评论系统。_ _ _ _ _ _ _ _ _ _ _ _ _ OSE是
MongoDB与MySQL不同。MySQL的每个更新操作都会直接写入硬盘,但Mongo不会。作为内存型数据库,数据操作将首先写入内存,然后将其持续到硬盘。因此,Mongo如何在开始的长时间开始,在开始的开始时,特定初始化了线程(除非碰撞下降)在一定时间段内从延期队列中获取所需的数据,并且当然,将其写入期刊(日志)和磁盘的磁盘(数据),因为在用户添加记录时,它不会写在磁盘上,这不会导致性能损失,因为当您查看代码时,发现执行CUD操作时,记录了记录。(记录类型)放入延迟批次(GroupCommit)的延期队列中,但我相信时间周期参数是必须仔细考虑的参数。该系统为90毫秒。它将导致频繁的磁盘操作,并且在系统停机时会导致数据丢失。
MongoDB的数据文件很大。
MongoDB使用前分明的空间来防止文件片段。
性能很棒。它特定于细节。因为Redis仅使用单个核心,并且MEMCACHED可以使用多核,因此,平均而言,REDIS的平均核的性能高于存储小数据时的Memcach。在超过100K数据时,Memcached的性能高于REDIS。尽管Redis最近已经优化了大数据的性能,但它仍然略低于Memcached。前两个的性能相似,大于MongoDB。
MEMCACHED可以修改最大内存并使用LRU算法。
REDIS增加了VM的特征,并突破了物理记忆的范围。
MongoDB适用于大型数据存储,依靠操作系统VM进行内存管理,并且内存相对强大。不要与其他服务一起服务。
纪念数据结构是单个的,仅用于缓存数据
REDIS支持更丰富的数据类型,还可以直接在服务器上操作数据,这可以减少网络IO和数据量的数量。
MongoDB支持丰富的数据表达,索引,最相关的数据库,并且支持语言支持非常丰富。
MEMCACHED不支持数据持久性,并且在功率OFF或重新启动后数据消失,但保证其稳定性。
REDIS支持数据持久性和数据恢复,允许单点故障,但同时也将支付价格。
MongoDB从1.8版中支持Binlog的持续可靠性。
MEMCACHED:减少动态系统中的数据库负载并提高性能;请执行缓存,适用于阅读和编写更多,大量的数据量(例如大量询问用户信息,朋友信息,文章信息等的人)。
REDIS:它适用于具有较高阅读和写作需求的系统,复杂的数据处理业务和高安全性要求(例如Sina Weibo计数和某些系统的微博发布,这些系统具有很好的数据安全性以及阅读和写作要求。高的)。
MongoDB:它主要解决访问质量数据的问题。
结尾
如果您有任何疑问,请在下面留言。
或注意我的公共帐户“”(),输入”。寻求进一步的帮助。
原始:https://juejin.cn/post/7100918220122488840