標籤:style blog http os io ar for 資料 art
一個網站如何面對高容量大並發的壓力,是架構師們要研究的事情。雖然目前我工作的站還沒有達到這個水平,但是一些未雨綢繆的工作應該要開始了,給我們定的計劃是在半年到一年時間,完成高容量大並發系統的架構設計。說幹就幹,先從redis開始吧。
首先得準備一份高記錄資料樣本,奈何手上沒有現成的,只好從簡訊系統取,簡訊系統用的是MSSQL,先得匯入到MYSQL中,我用了一個工具是mss2sql,是:http://www.intelligent-converters.com/demos/mss2sqld.exe,然後將一個100萬記錄的表匯入MYSQL居然花了4個小時。
接下來安裝redis,先在windows環境下裝了個2.4版,準備將該表從MYSQL中匯入redis,發現網上有篇文章介紹匯出方法:http://www.oschina.net/translate/mysql-to-redis-in-one-step 《一步完成 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,那隻有手動安裝了:http://www.redis.io/download
$ wget http://download.redis.io/releases/redis-2.8.14.tar.gz$ tar xzf redis-2.8.14.tar.gz$ cd redis-2.8.14$ make
提示GCC忘記裝了,繼續搗鼓,參考:http://xueliang1yi.blog.163.com/blog/static/1145570162012102114635764/
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依賴了很多東西,有些包可能系統已經 裝了,有些沒有,防止出意外,最好都走一遍
2、報錯二,沒有tcl8.5, 安裝tcl8.5,過程如下
:http://downloads.sourceforge.net/tcl/tcl8.5.10-src.tar.gz
安裝過程
tar -zxvf tcl8.5.tar.gz
./configure
make
make install
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 -pxxx 庫名稱 --skip-column-names --raw < events_to_redis.sql | redis-cli --pipe
其他一些參考資料:
Redis應用情境:http://blog.csdn.net/hguisu/article/details/8836819
phpredis中文手冊——《redis中文手冊》 php版:http://www.cnblogs.com/zcy_soft/archive/2012/09/21/2697006.html
淺談Redis資料庫的索引值設計:http://blog.nosqlfan.com/html/3033.html
nosql應用情境——用redis打造山寨twitter:http://blog.csdn.net/exsuns/article/details/6358414 http://www.cnblogs.com/jackluo/archive/2013/06/27/3158974.html
向著架構技術進軍---實踐redis(一)