CentOS下安裝Memcached,Linux下安裝Memcached,centos下安裝memcached,linux下安裝memcached...

摘要:最近在看《大型分布式網站架構設計與實踐》這本書,把其中的學習過程記錄一下,以便日后復習。


一:Memcached簡單介紹和描述:

Memcached 是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,
從而提高動態、數據庫驅動網站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,
并通過memcached協議與守護進程通信。


Memcache是一個高性能的分布式的內存對象緩存系統,通過在內存里維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據.簡單的說就是將數據調用到
內存中,然后從內存中讀取,從而大大提高讀取速度。


二:Memcached的工作原理:

工作原理:
①.客戶端第一次訪問應用程序時,會到數據庫(RDBMS)中取出數據,返回給客戶端;同時也將取出的數據保存到memcached中。
②.第二次訪問時,因為數據已經緩存,不不用去數據庫查詢了,直接從memcached取。
那么memcached的快速和高效率是如何體現出來的呢?我們都清楚,RDBMS是文件型的數據庫,最終還是以文件的形式保存在磁盤上。而memcached則不一樣,
它是key:value關系型的數據庫,是保存在內存中的。那么就不用我再做說明了,內存的讀寫速度要比磁盤的讀寫速度快得多,前者是后者的10的6次方倍。

http://blog.rekfan.com/?p=172
Memcached支持Linux系統,也支持Windows系統,分別需要不同的安裝包,鑒于在Windows使用比較少,所以散仙今天就總結一下,在Centos下安裝Memcached
的整個流程,一方面是為了記錄一下,防止日后生疏,另一方面也為剛剛使用Memcached的朋友們,提供一份入門的教程。
下面進入正題:

首先,memcached是基于libevent的,所以確保你的系統已經裝了libevent,libevent是個程序庫,它將Linux的epoll、BSD類操作系統的kqueue等事件處理
功能封裝成統一的接口。即使對服務器的連接數增加,也能發揮O(1)的性能。 memcached使用這個libevent庫,因此能在Linux、BSD、Solaris等操作系統上
發揮其高性能。


由于memcached和libevent是由C編寫的,所以首先確保你的系統安裝了gcc,如果
沒有安裝,使用yum安裝即可


命令:
yum -y install gcc
yum -y install gcc-c++


然后下載 libevent
然后上傳centos,進行給予權限,然后解壓
# tar xzvf libevent-2.0.21-stable.tar.gz ##解壓
# cd libevent-2.0.21-stable
# ./configure --prefix=/usr
# make
# make install
安裝完后可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent)


然后下載 memcached
# tar xzvf memcached-1.4.15.tar.gz
# cd memcached-1.4.15
# ./configure --with-libevent=/usr
# make
# make install
安裝結果(ls -al /usr/local/bin/memcached)如圖3:



關于memcache啟動的一些參數說明:
memcached命令參數解釋:
-p <num> 監聽的端口
-l <ip_addr> 連接的IP地址, 默認是本機
-d start 啟動memcached 服務
-d restart 重起memcached 服務
-d stop|shutdown 關閉正在運行的memcached 服務
-d install 安裝memcached 服務
-d uninstall 卸載memcached 服務
-u <username> 以<username>的身份運行 (僅在以root運行的時候有效)
-m <num> 最大內存使用,單位MB。默認64MB
-M 內存耗盡時返回錯誤,而不是刪除項
-c <num> 最大同時連接數,默認是1024
-f <factor> 塊大小增長因子,默認是1.25
-n <bytes> 最小分配空間,key+value+flags默認是48
-h 顯示幫助


然后執行命令啟動memcached
#/usr/local/bin/memcached -d -m 1024 -u root -p 11211 -P /tmp/memcached.pid
然后就可以使用telnet,來測試memcache的連接狀態,


如果沒有安裝telnet服務,可以執行
yum install telnet-server
安裝服務
yum install telnet
安裝命令
然后編輯vi /etc/xinetd.d/telnet 文件,激活telnet,默認是禁用的,截圖如下4:



然后重啟服務,執行命令 service xinetd restart
然后就可以測試memcached的連接,執行命令
telnet 127.0.0.1 11211
輸入stats,會輸出memcache的一些連接信息,包括PID
如果需要退出,則執行quit命令即可,截圖如下5:


退出telnet,執行quit命令即可,上圖所示的memcached進程ID,很重要,如果我們需要關閉memcached服務時,就可以執行命令,kill -9 進程號 即可。


最后,我們在來看下如何使用JAVA API,簡單的來測試下memcached,注意如果memcached的端口號,需要對外開放,否則,將會出現連接不上的異常,測試環境我們可以把防火墻關閉測試:
用到的jar包,如下所示截圖6:


控制臺打印內容如下所示:
2014-03-18 18:13:30.008 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/192.168.75.130:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2014-03-18 18:13:30.011 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@33c3e6
1111測試memcache成功了吧
2014-03-18 18:13:30.020 INFO net.spy.memcached.MemcachedClient: Shut down memcached client


至此,我們已經安裝測試成功了,最后把memcached的JAVA API所用到的工程和jar上傳上來,方便大家測試,下載連接如下:

http://download.csdn.net/detail/sxdtzhaoxinguo/9529017


參考地址:http://www.tuicool.com/articles/qYJBVb



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

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

相關文章

Spring,ehcache整合報錯

摘要&#xff1a;在做Spring整合ehcache配置的時候出現了下面的錯誤&#xff0c;提示如下&#xff1a;java.lang.ClassNotFoundException: org.springframework.cache.ehcache.EhCacheManagerFactoryBean&#xff0c;經過檢查發現是因為org.springframework.cache.ehcache.EhCa…

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/BasePoolableObjectFactory

摘要&#xff1a;異常信息解決過程記錄 一&#xff1a;異常信息&#xff1a; Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/BasePoolableObjectFactoryat java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(Cla…

一個微信公眾號接入另一個微信公眾號的內容

摘要&#xff1a;近日來了這么一個需求&#xff0c;就是客戶想在他們的微信公眾號里面直接接入我們微信公眾號的文章&#xff0c;于是我便開始baidu&#xff0c;google&#xff0c;最后發現了一個新的搜索引擎&#xff1a;“搜狗微信搜索”&#xff0c;該搜索引擎是最近才上線的…

SQL Server將數據庫中的表復制到另一個數據庫

在使用SqlServer的過程中&#xff0c;我們可能需要將表從一個數據庫復制到另一個數據庫中&#xff0c;今天&#xff0c;小編為大家介紹這種操作的具體方法及步驟。 一&#xff1a;復制表結構&#xff1a; 1.首先&#xff0c;打開并連接Sql Server&#xff0c;在源數據庫Sourc…

SQL Server cast() 批量更新列內容

摘要&#xff1a;有這樣一個需求&#xff0c;需要把數據表中的列批量更新一下&#xff0c;給后面的數字都增加20&#xff0c;如下圖&#xff1a; 正確的sql如下&#xff1a; update tbl_papers_test set name 執業護士考試兒科護理學cast((cast(substring(name,12,datalength(…

SQL Server 批量更新字段值為ROW_NUMBER()+列名稱

摘要&#xff1a;有這樣一個需求&#xff0c;需要把數據表中的列名稱的數據按行號重新排序并更新一下&#xff0c;這里用到了ROW_NUMBER()函數。 一&#xff1a;需求如下圖&#xff1a; 二&#xff1a;通過執行如下sql語句實現了上面的需求&#xff0c;如下&#xff1a; update…

Maven+Tomcat的熱部署方案

摘要&#xff1a;在日常的開發中&#xff0c;熱部署是個非常重要的事&#xff0c;下面就介紹下Maven&#xff0c;Tomcat如何實現熱部署! 第一步&#xff1a;配置Tomcat的登陸的用戶名與密碼 E:\apache-tomcat-7.0.68\conf\tomcat-users.xml 從第35行開始配置 <role rolenam…

readonly與disabled屬性在css中區別

論readonly與disabled在css中區別 之前在項目中遇到的一個問題&#xff0c;現在想把它記錄下來。 當項目需求上需要在文本框中禁用輸入某個值的時候&#xff0c;我第一個反應是用了disabled&#xff0c;因為之前一直接觸的都是disabled。但當我需要提交FROM表單的時候&#xf…

SuperMap iDesktop 9D中實現地圖配準

SuperMap iDesktop 9D 中實現地圖配準 今天在學習SuperMap 過程中無意間接觸地圖配準&#xff0c;實現功能之后&#xff0c;卻沒有了解它的作用是什么。經過學習&#xff0c;方才知道&#xff0c;地圖配準其實是用在數字化地圖之前&#xff0c;主要是對地圖進行坐標和投影的校…

jQuery 拖拽窗體

jQuery 拖拽窗體事件 今天給大家分享一個簡單拖拽事件&#xff0c;可以通過拖拽事件實現數據的傳遞,已達到良好的交互&#xff0c;可以實現更為可觀的效果。 具體來說&#xff0c;只有三部基本的操作&#xff1a; 第一&#xff1a;當鼠標按下時觸發的事件&#xff08;onmoused…

《SuperMap GIS二次開發MVC實戰訓練---江海區慢性病防治院系統》項目研發階段性總結

《SuperMap GIS二次開發MVC實戰訓練—江海區慢性病防治院系統》項目研發階段性總結 作者&#xff1a;愛怡同學 本次任務完成時間&#xff1a;2019年1月1日&#xff5e;2019年1月10日 開發工具與關鍵技術&#xff1a;SuperMap iDesktop 9D &#xff0c;MVC&#xff0c; SuperMa…

《帝友 P2P 網絡借貸系統》

《帝友 P2P 網絡借貸系統》 本次任務完成時間&#xff1a;2018年12月1日&#xff5e;2018年12月15日 開發工具與關鍵技術&#xff1a;Microsoft Visual Studio &#xff0c;SQL 完成模塊功能&#xff1a;后臺認證管理篇 項目流程圖&#xff1a; &#xff08;1&#xff09; 事…

C#驗證碼

驗證碼生成 在學習以及做項目的過程中&#xff0c;我們有時候遇到需要驗證碼的情況&#xff0c;然后需要對它進行判斷是否正確。但首先&#xff0c;我們就必須要生成驗證碼&#xff0c;才能夠對其進行判斷。 首先&#xff0c;這是控制層代碼&#xff1a; //生成驗證碼public…

jquery工具箱旋轉動畫效果

jquery工具箱旋轉動畫效果 今天給大家分享一個工具箱的旋轉動畫效果&#xff0c;因為做GIS項目的時候所需要到&#xff0c;這是我在懶人之家看到的一個jquery鼠標點擊按鈕圖標旋轉彈出圖標菜單旋轉動畫。 首先&#xff0c;可以引用插件&#xff0c;但因為項目所需&#xff0c;…

.NET短信接口驗證

.NET短信接口驗證 之前遇到的一個問題&#xff0c;因為沒有接觸過&#xff0c;所以自己上網查閱過資料也向他人請教以及老師&#xff0c;.NET短信接口調用&#xff0c;其實&#xff0c;網上有許多免費的短信接口平臺&#xff0c;但也是有限度的&#xff0c;如果發送的數量過多…

密碼判斷

.NET(C#)密碼判斷 當我們需要對密碼進行判斷的時候&#xff0c;可以不使用提示框模態框的方法&#xff0c;用圖片顯示判斷密碼正確與否也是比較美觀的&#xff0c;也實為方便&#xff0c;這也是老師提供一種方法。 首先&#xff0c;我們需要把樣式鋪墊好&#xff1a; <div…

身份證正則判斷

身份證正則判斷 今天分享的是身份證的正則判斷&#xff0c;在很多時候需要到&#xff0c;所以在這里記錄下來。之前做正則判斷的時候&#xff0c;有一些小瑕疵&#xff0c;判斷不夠全面&#xff0c;正則判斷&#xff0c;結構緊湊&#xff0c;全面的判斷很重要&#xff0c;所以…

Oracle 單行函數

學習Oracle 單行函數&#xff1a; 包括字符函數&#xff0c;數值函數&#xff0c;日期函數&#xff0c;轉換函數&#xff0c;通用函數。 dual是一個”偽表”&#xff0c;可以用來測試函數和表達式。 1&#xff0c; 字符函數 包括大小寫控制函數&#xff0c;字符控制函數。 大小…

Oracle 多表查詢 --笛卡爾集--左連接--右連接--1999 語法--滿外連接

Oracle 多表查詢總結 笛卡爾集現象&#xff1a; 笛卡爾集會在下面條件下產生: – 省略連接條件 – 連接條件無效 – 所有表中的所有行互相連接 為了避免笛卡爾集&#xff0c; 可以在where加入有效的連接條件。 Oracle 連接&#xff1a; 使用連接在多個表中查詢數據。 在wher…

Oracle 數據庫-分組函數總結

Oracle 分組函數 分組函數作用于一組數據&#xff0c;并對一組函數返回一個值。 組函數類型&#xff1a; avg&#xff0c;count&#xff0c;max&#xff0c;min&#xff0c;sum 可以對數值型數據使用avg和sum函數。 select avg(salary),min(salary),max(salary),sum(salary)…