Memcached, Redis, MongoDB區別

mongodb和memcached不是一個范疇內的東西。mongodb是文檔型的非關系型數據庫,其優勢在于查詢功能比較強大,能存儲海量數據。mongodb和memcached不存在誰替換誰的問題。

和memcached更為接近的是redis。它們都是內存型數據庫,數據保存在內存中,通過tcp直接存取,優勢是速度快,并發高,缺點是數據類型有限,查詢功能不強,一般用作緩存。在我們團隊的項目中,一開始用的是memcached,后來用redis替代。

相比memcached:

1、redis具有持久化機制,可以定期將內存中的數據持久化到硬盤上。

2、redis具備binlog功能,可以將所有操作寫入日志,當redis出現故障,可依照binlog進行數據恢復。

3、redis支持virtual memory,可以限定內存使用大小,當數據超過閾值,則通過類似LRU的算法把內存中的最不常用數據保存到硬盤的頁面文件中。

4、redis原生支持的數據類型更多,使用的想象空間更大。

5、前面有位朋友所提及的一致性哈希,用在redis的sharding中,一般是在負載非常高需要水平擴展時使用。我們還沒有用到這方面的功能,一般的項目,單機足夠支撐并發了。redis 3.0將推出cluster,功能更加強大。

6、redis更多優點,請移步官方網站查詢。

7. 性能

Redis作者的說法是平均到單個核上的性能,在單條數據不大的情況下Redis更好。為什么這么說呢,理由就是Redis是單線程運行的。
因為是單線程運行,所以和Memcached的多線程相比,整體性能肯定會偏低。
因為是單線程運行,所以IO是串行化的,網絡IO和內存IO,因此當單條數據太大時,由于需要等待一個命令的所有IO完成才能進行后續的命令,所以性能會受影響。

轉載于:https://www.cnblogs.com/cuihongyu3503319/p/5845853.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372357.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372357.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372357.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

洛谷P1757 通天之分組背包 [2017年4月計劃 動態規劃06]

P1757 通天之分組背包 題目背景 直達通天路小A歷險記第二篇 題目描述 自01背包問世之后,小A對此深感興趣。一天,小A去遠游,卻發現他的背包不同于01背包,他的物品大致可分為k組,每組中的物品相互沖突,現在&a…

c3p0 0.9.1.2 配套mysql_連接數據庫,使用c3p0技術連接MySQL數據庫

讀取配置文件連接MySQL數據庫先確認已經導入了 mysql 的驅動包db.propertiesdrivercom.mysql.jdbc.Driverurljdbc:mysql://localhost:3306/v20?useUnicodetrue&characterEncodingutf8usernamerootpassword123456JdbcUtil.javapackage com.stu_mvc.utils;import java.io.Fi…

【Hadoop】Hadoop MR 自定義分組 Partition機制

1、概念 2、Hadoop默認分組機制--所有的Key分到一個組,一個Reduce任務處理 3、代碼示例 FlowBean package com.ares.hadoop.mr.flowgroup;import java.io.DataInput; import java.io.DataOutput; import java.io.IOException;import org.apache.hadoop.io.WritableC…

Spring Framework 3.2 M1發布

SpringSource剛剛宣布了針對Spring 3.2的第一個里程碑版本。 現在可以從SpringSource存儲庫(位于http://repo.springsource.org/)獲得新版本。 查看有關通過Maven 解決這些工件的快速教程 。 此版本包括: 最初支持異步Controller方法 早期…

兩種動態SQL

參考:http://www.cnblogs.com/wanyuan8/archive/2011/11/09/2243483.htmlhttp://www.cnblogs.com/xbf321/archive/2008/11/02/1325067.html 兩種動態SQL  1. EXEC (sql)   2. EXEC sp_executesql 性能:sp_executesql提供了輸入輸出接口,更…

mysql查詢含有某個值的表_MYSQL查詢數據表中某個字段包含某個數值

當某個字段中字符串是"1,2,3,4,5,6"或者"123456" 查詢數據表中某個字段是否包含某個值 1:模糊查詢 使用like select * from 表 where 字段 like %1%; 2:函數查找 find_in_set(str,數組) select * from 表 where find_in_set(1,字段); 注意:mysql字符串…

android學習筆記35——AnimationDrawable資源

AnimationDrawable資源 AnimationDrawable,代表一個動畫。 android既支持傳統的逐幀動畫(類似于電影方式,一張圖片一張圖片的切換),也支持通過平移、變換計算出來的補間動畫、屬性動畫。 下面以補間動畫為例,介紹如何定義Animatio…

RESTEasy教程第2部分:Spring集成

RESTEasy提供了對Spring集成的支持&#xff0c;這使我們能夠將Spring bean作為RESTful WebServices公開。 步驟&#xff03;1&#xff1a;使用Maven配置RESTEasy Spring依賴項。 <project xmlnshttp:maven.apache.orgPOM4.0.0 xmlns:xsihttp:www.w3.org2001XMLSchema-insta…

java RSA 加簽驗簽【轉】

引用自: http://blog.csdn.net/wangqiuyun/article/details/42143957/ java RSA 加簽驗簽 package com.testdemo.core.service.impl.alipay;import java.security.KeyFactory; import java.security.PrivateKey; import java.security.PublicKey; import java.security.spec.PK…

mysql啟動時執行sql server_常見 mysql 啟動、運行.sql 文件錯誤處理

1、mysql 啟動錯誤處理查看 log&#xff1a;Mac: /usr/local/var/mysql/lizhendeMacBook-Pro.local.err根據 log 針對性的進行調整&#xff0c;包治百病2、Mysql Incorrect datetime value問題描述&#xff1a;低版本的 mysql 中&#xff0c;數據庫轉儲 sql 文件。導入到高版本…

帶有謂詞的Java中的函數樣式-第2部分

在本文的第一部分中&#xff0c;我們介紹了謂詞&#xff0c;這些謂詞通過具有返回true或false的單個方法的簡單接口&#xff0c;為Java等面向對象的語言帶來了函數式編程的某些好處。 在第二部分和最后一部分中&#xff0c;我們將介紹一些更高級的概念&#xff0c;以使您的謂詞…

Devxtreme 顯示Master-Detail數據列表, 數據顯示顏色

1 ////刷新3/4簇Grid2 //function GetClusterGrid(id, coverageId, clusterId) {3 4 // var region getRegionCityName();5 // $.ajax({6 // type: "POST",7 // url: "fast_index_overview.aspx/GetClusterGrid&q…

mysql 排序去重復_php mysql 過濾重復記錄并排序

table1idname1a2b3ctable2idnamecont1aaa2bbb3aaaaaSELECT*,count(distincttable2.name)FROMtable1,table2WHEREtable1.nametable2.nameGROUPBYtable2.nameORDERBYtable2.idDESC";重復...table1id name1 a2 b3 ctable2id name cont1 a aa2 b bb3 a aaaaSELECT *,count(dis…

Java EE 6測試第I部分– EJB 3.1可嵌入API

我們從Enterprise JavaBeans開發人員那里聽到的最常見的請求之一就是需要改進的單元/集成測試支持。 EJB 3.1 Specification引入了EJB 3.1 Embeddable API&#xff0c;用于在Java SE環境中執行EJB組件。 與傳統的基于Java EE服務器的執行不同&#xff0c;可嵌入式用法允許客戶端…

Flume 中文入門手冊

原文&#xff1a;https://cwiki.apache.org/confluence/display/FLUME/GettingStarted 什么是 Flume NG? Flume NG 旨在比起 Flume OG 變得明顯更簡單。更小。更easy部署。在這樣的情況下&#xff0c;我們不提交Flume NG 到 Flume OG 的后向兼容。當前。我們期待來自感興趣測試…

原生JavaScript+CSS3實現移動端滑塊效果

在做web頁面時&#xff0c;無論PC端還是移動端&#xff0c;我們會遇到滑塊這樣的效果&#xff0c;可能我們往往會想著去網上找插件&#xff0c;其實這個效果非常的簡單&#xff0c;插件代碼的的代碼往往過于臃腫&#xff0c;不如自己動手&#xff0c;自給自足。首先看一下效果圖…

mysql的連接名是哪個文件_mysql連接名是什么

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云數據庫專家保駕護航&#xff0c;為用戶…

Activiti績效對決

每個人在學習Activiti時都會一直問到的問題&#xff0c;與軟件開發本身一樣古老&#xff1a;“它如何執行&#xff1f;”。 到現在為止&#xff0c;當您問我同樣的問題時&#xff0c;我將告訴您Activiti如何以各種可能的方式最小化數據庫訪問&#xff0c;如何將流程結構分解為“…

怎么使用CKEDITOR

出于工作需求&#xff0c;自己在網上找了個文本編輯器控件, 網址是http://ckeditor.com/ 怎么使用&#xff1f; 先插入腳本<script type"text/javascript" src"*/ckeditor.js"></script>, 然后&#xff0c;在自己的腳本里調用CKEDITOR.replac…

centos 打開pdo_mysql_centos中添加php擴展pdo_mysql步驟

pdo_mysql是php中一個mysql連接類了&#xff0c;我們可以直接使用pdo_mysql來操作數據庫這樣自己可以不需要寫數據庫操作類了&#xff0c;下面來介紹在centos中安裝pdo_mysql擴展的步驟。本文內容是以 CentOS 為例&#xff0c;紅帽系列的 Linux 方法應該都是如此&#xff0c;下…