記一次快取伺服器遷移史,心塞!
記一次快取伺服器遷移史,心塞!
寫在前面
下班後本來可以好好休息下,結果剛躺下,此時,叮鈴鈴電話響了。
「喂,你好!」。
「喂,冰河,睡了嗎?我是XXX,我現在遇到個問題,我想把快取伺服器從CentOS遷移到Windows上,還有就是我想使用Memcached,你幫我弄下啊」。
「啥?為啥要弄到Windows上啊,為啥使用Memcached啊?Redis不香嗎?Redis比Memcached強大的多啊!!」
「這我知道啊,但是我對Linux作業系統和Redis不太熟啊,我想遷移到Memcached上測試下啊!」。
「不太熟慢慢積累,慢慢學」。
「但是項目下周上線,我不太會啊,怎麼辦?你幫我弄下唄,項目先上線,以後我再慢慢學」。
我這人還是挺喜歡幫助別人的,於是乎,我冒著「嚴寒」起床幫他遷移快取伺服器了。
文章已收錄到:
//github.com/sunshinelyz/technology-binghe
//gitee.com/binghe001/technology-binghe
什麼是Memcached
一句話,Memcached是一個開源的,高性能,分散式的快取系統,基於記憶體的key-value存儲,用來存儲小塊的任意數據(字元串、對象)。
接下來,我們就來一起看看如何在Windows伺服器上安裝Memcached吧。
安裝Memcached
下載服務端memcached軟體
32bit:下載 memcached-win32-1.4.4-14.zip(直接下)裡面包含6個文件,將解壓後的文件夾隨便放在什麼位置(例如:D:\memcached)。
memcached-win32-1.4.4-14.zip下載頁面://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available
64bit:如果需要win64版,下載 memcached-win64-1.4.4-14.zip(直接下),裡面有個三個文件,用這三個文件覆蓋win32下同名文件。
memcached-win64-1.4.4-14.zip下載頁面://blog.couchbase.com/memcached-windows-64-bit-pre-release-available
以管理員身份運行cmd.exe
以管理員身份運行 cmd.exe,並轉至memcached所在文件夾
比如:
cd D:\memcached
注意:如果不以管理員身份運行,將得到報錯「failed to install service or service already installed」
安裝memcached
d:\memcached memcached.exe -d install
之後螢幕無任何提示,可以再[控制面板]->[管理工具]->[服務]中查看到memcached。
啟動memcached
啟動方法1:
d:\memcached> memcached.exe -d start
之後螢幕無任何提示,但是在「任務管理器」中勾選「顯示所有用戶進程」,此時可以看到memcached.exe進程正在運行默認埠11211,外部訪問需要開放該埠,否則無法成功連接。
啟動方法2:
[控制面板]->[管理工具]->[服務] 找到 memcached 服務,雙擊它打開如下圖
- 啟動類型:選擇【自動】
- 服務狀態:點擊下面的【啟動】
- 備註:可執行文件的路徑和我上面所說的路徑有些區別可以忽略
memcached基本參數設置
- -p 監聽的埠
- -l 連接的IP地址, 默認是本機
- -d start 啟動memcached服務
- -d restart 重起memcached服務
- -d stop|shutdown 關閉正在運行的memcached服務
- -d install 安裝memcached服務
- -d uninstall 卸載memcached服務
- -u 以的身份運行 (僅在以root運行的時候有效)
- -m 最大記憶體使用,單位MB。默認64MB
- -M 記憶體耗盡時返回錯誤,而不是刪除項
- -c 最大同時連接數,默認是1024
- -f 塊大小增長因子,默認是1.25
- -n 最小分配空間,key+value+flags默認是48
- -h 顯示幫助
設置參數時需要先停止memcached,然後用命令行設置,比如:
D:\memcached> memcached.exe -m 1 -d start
停止memcached
D:\memcached> memcached.exe -d stop
卸載memcached
D:\memcached> memcached.exe -d uninstall
修改參數
windows下需要通過修改註冊表資訊進行設置,打開註冊表,找
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached
在其中有一個「ImagePath」項,值為:
"D:\memcached\memcached.exe" -d runservice
在後面加上「-m 1024 -c 2048 -p 11210」。等即可。重啟服務後生效
安裝完Memcached,後續把快取數據從Redis遷移到Memcached,並且把項目中連接Redis的資訊修改為連接Memcached即可。
附加安裝包
大家可到鏈接//download.csdn.net/detail/l1028386804/9777810下載Memcached安裝包。
總結
本次遷移快取伺服器其實挺心塞的,不是技術問題,而是小夥伴的技術棧問題,明明Linux+Redis無論是性能、持久化還是並發方面都勝於Windows+Memcached,可為什麼還要用Windows+Memcached呢?原因就是對Linux+Redis不太熟!這又說明了什麼問題呢?
小夥伴們還是要及時更新自己的技術棧啊!不然,受限於自己的技術棧,很多強大並且很牛逼的技術你都不會用。千萬不要把自己廢掉,不要向《程式設計師如何讓自己更快的廢掉?》中說的那樣~~
好了,今天就到這兒吧,我是冰河,大家有啥問題可以在下方留言,也可以加我微信,一起交流技術,一起進階,一起牛逼~~