向著架構技術進軍 實踐redis(一)

2021-09-24 15:21:18 字數 2166 閱讀 6200

乙個**如何面對高容量大併發的壓力,是架構師們要研究的事情。雖然目前我工作的站還沒有達到這個水平,但是一些未雨綢繆的工作應該要開始了,給我們定的計畫是在半年到一年時間,完成高容量大併發系統的架構設計。說幹就幹,先從redis開始吧。

接下來安裝redis,先在windows環境下裝了個2.4版,準備將該錶從mysql中匯入redis,發現網上有篇文章介紹匯出方法: 《一步完成 mysql 向 redis 遷移》,發現在windows下始終提示

g:\redis-2.4.5-win32-win64\64bit>redis-cli --pipe

(error) err unknown command '--pipe'

一開始以為是windows原因,隨即準備了臺centos的虛機,搗鼓一些nginx+php+mysq的環境不在話下,最後安裝了redis發現還是提示上述錯誤,最終想起來我在windows和linux下用的都是redis2.4版,現在都用2.6和2.8版本了,那就公升級吧。發現yum庫中最高版也只有2.4,那只有手動安裝了:

$ wget 

$ tar xzf redis-2.8.14.tar.gz

$ cd redis-2.8.14

$ make

提示gcc忘記裝了,繼續搗鼓,參考:

1、報錯一 沒用gcc

安裝過程

yum install cpp

yum install binutils

yum install glibc

yum install glibc-kernheaders

yum install glibc-common

yum install glibc-devel

yum install gcc

yum install make

注意gcc依賴了很多東西,有些包可能系統已經 裝了,有些沒有,防止出意外,最好都走一遍

3、安裝redis

make

make test //檢查一下,看看有沒有問題

make install

如果make繼續報錯,資訊如下:error: jemalloc/jemalloc.h: no such file or directory

執行 make malloc=libc 就行

注意的是,為了防止出意外,make失敗後在make的話,清理一下,執行make clean 

這樣redis2.8就裝好了,也可以執行 mysql -u root -p*** 庫名稱 --skip-column-names --raw < events_to_redis.sql | redis-cli --pipe,接下來準備正式將這百萬資料匯入redis,先查詢redis通訊協議規範,資料上是這樣寫的:

redis請求引數的通用格式如下:

*《引數數量》 cr lf $《第1個引數位元組數》 cr lf 《引數資料》 cr lf ... $《第n個引數位元組數》 cr lf 《引數資料》 cr lf

舉個例子,要使用set命令在redis中儲存一條key=mykey,value=myvalue的資料,則客戶端傳送給redis的伺服器協議如下:

*3 $3 set $5 mykey $7 myvalue

最終發給redis伺服器的二進位制資料用字串表示是:

*3\r\n$3\r\nset\r\n$5\r\nmykey\r\n$7\r\nmyvalue\r\n

好,接下來開始,按下回車:

all data transferred. waiting for the last reply...

last reply received from server.

errors: 0, replies:1174192

完成的效率驚人,117萬多的記錄19秒匯入!

如果覺得樣本源mysql的百萬計資料不過癮,也簡單,用下面的語句迅速在乙個表內複製

insert into 表名

select *

from 表名

經測,複製200萬資料需要10分鐘,40萬資料需要30分鐘左右,也就是2變4、4變8、8變16,很快的喲,不過得注意我在該錶沒設定主鍵。 

技術執行與架構實踐

文章原文 本文討論如何構建技術執行能力.不論是企業招聘還是個人職業發展,都可以參照這個能力模型.先是回顧技術人員的3個能力象限.再從技術視角如何思考和判斷問題.到架構設計的原則.並通過交易和營銷的成功實踐分析,理解什麼是好的架構.前一篇提到的技術人的職責,可以總結為以下3點 技術視野和判斷力 tec...

《雲計算架構技術與實踐》

摘要 2014年9月,由華為公司雲計算首席架構師顧炯炯編著,清華大學出版社出版的華為雲計算首部著作 雲計算架構技術與實踐 一書正式問世。雲計算概念誕生至今已發展了約八年時間,這八年來,相比雲計算誕生初期,雲計算技術條件 行業和市場環境均發生了巨大變化,廣大讀者對雲計算的認知需求,也從當初的粗淺概念階...

Redis,從技術原理到最佳實踐

2018年開年知識盛會 nosql資料庫直播大講堂峰會,將於1月19日 23日 25日與大家見面,阿里雲redis mongodb hbase的15位技術專家 產品專家將給大家帶來深度的技術及產品分享。本次峰會的主要板塊包括1月17日的北京產品發布會 1月19日 23日 25日的系列直播技術大講堂,...