為什麼學習redis
年初接收了一個大的項目,是關于衛星地面運作系統的運作和控制的。其主要功能是控制衛星資料處理的過程,簡單來說就是資料從衛星下發後,所有的控制都歸這個系統管。現有系統都是運作在aix小機上,大記憶體、多cpu,作為大腦來控制整個地面系統的運作。在去IOE的大潮下,雖然現在還硬抗着用ibm的小機搭建基礎平台,未來系統往X86架構平台移植是不可避免的。
為了避免遷移帶來的麻煩,原來大量使用unix系統程序間通訊方式-共享記憶體、消息隊列等必定不是個好的方式。
是以本項目想嘗試使用Redis來替代共享記憶體和消息隊列,跨節點共享資料。
什麼是redis
redis是一種基于鍵值對(key-value)的nosql資料庫,其資料類型包括string、hash、list、set、zset、bitmaps、hyperLogLog、GEO等多種資料資料結構。redis作為記憶體資料庫,其通路效率非常高,而且redis還可以将記憶體中的資料利用快照和日志的形式保留到硬碟上,保證機器 故障時資料不會丢失。除了上述功能外redis還提供了鍵過期、釋出訂閱、事務、流水、Lua腳本等附加功能。
redis特性
1 速度快
主要是因為資料都在記憶體裡,其次C語言編寫、單線程架構
2.基于鍵值對的資料結構伺服器,與多種語言不謀而合但又不隻是是字元串還可以去具體的資料結構。
3.提供了其它豐富的功能
4.簡單穩定
5.用戶端語言多
6.持久化
7.主從複制
8.高可用和分布式
redis安裝
redis安裝非常簡單,不贅述。