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

來源:互聯網
上載者:User

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

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


一個優秀的系統架構師要具體什可以力?

系統架構師負責設計系統整體架構,從需求到設計的每個細節都要考慮到,把握整個項目,使設計的項目盡量效率高,開發容易,維護方便,升級簡單,等等
系統架構師的職責:

一、理解系統的業務需求,制定系統的整體架構(包括:技術架構和業務架構)

二、對系統架構相關技術和業務進行培訓,指導開發人員開發。並解決系統開發、運行中出現的各種問題。 系統架構師的目的:

對系統的重用、擴充、安全、效能、伸縮性、簡潔等做系統級的把握。 系統架構師能力要求:

一、系統架構相關的知識和經驗。

二、很強的自學能力、分析能力、解決問題的能力。

三、寫作、溝通表達、培訓。

角色

軟體架構師Software Architect 定義

主導系統全域分析設計和實施、負責軟體構架和關鍵技術決策的角色 職責

l、領導與協調整個項目中的技術活動(分析、設計和實施等) 2、推動主要的技術決策,並最終表達為軟體構架 3、確定和文檔化系統的相對構架而言意義重大的方面,包括系統的需求、設計、實施和部署等“視圖” 4、確定設計項目的分組以及這些主要分組之間的介面 5、為技術決策提供規則,平衡各類涉眾的不同關注點,化解技術風險,並保證相關決定被有效傳達和貫徹 6、理解、評價並接收系統需求 7、評價和確認軟體架構的實現 專業技能

l、技術全面、成熟練達、洞察力強、經驗豐富,具備在缺乏完整資訊、眾多問題交織一團、模糊和矛盾的情況下,迅速抓住問題要害,並做出合理的關鍵決定的能力 l、具備戰略性和前瞻性思維能力,善於把握全域,能夠在更高抽象層級上進行思考; l、對項目開發涉及的所有問題領域都有經驗,包括徹底地理解項目需求,開展分析設計之類軟體工程活動等 2、具備領導素質,以在各小組之間推進技術工作,並在項目壓力下做出牢靠的關鍵決策 3、擁有優秀的溝通能力,用以進行說服、鼓勵和指導等活動,並贏得項目成員的信任; 4、以目標導向和主動的方式來不帶任何感情色彩地關注項目結果,構架師應當是項目背後的技術推動力,而非構想者或夢想家(追求完美) 5、精通構架設計的理論、實踐和工具,並掌握多種參考構架、主要的可重用構架機制和模式(例如J2EE架構等); 6、具備系統設計員的所有技能,但涉及面更廣、抽象層級更高; 活動

確定用例或需求的優先順序、進行構架分析、建立構架的概念驗證原型、評估構架的概念驗證原型的可行性、組織系統實施模型、描述系統分布結構、描述運行時刻構架、確定設計機制、確定設計項目、合并已有設計項目 工件

軟體構架文檔、參考構架、分析模型、設計模型、實施模型、部署模型、構架概念驗證原型、介面、事件、訊號與協議 系統架構師
 
微博的系統架構,想用mysql+redis配合使用,想問一下具體要怎操作

寫入資料到Redis, 然後在寫個運行cron的指令碼,美妙讀記憶體,並寫入資料庫

也有其他方法
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.