1. 程式人生 > >redis 實戰系列(一)

redis 實戰系列(一)

最近新接手的專案,要把資料最終推到線上的redis叢集裡。正好趁著這次專案的機會,徹底梳理一下redis相關的東東。

個人觀點是:凡是與資料相關的專案,實踐性都特別強。對於這種特點的內容,我遵循的學習原則是先搞明白what,即搞清楚這東西到底是個什麼鬼,有什麼用。接下來就是how,即搞清楚這個東東怎麼用,怎麼最快速的搭建環境,並且讓程式碼run起來。最後一步則是why,在有一定實踐經驗的基礎上,來搞清楚這東西到底為什麼要這麼搞,跟其他同類產品相比有什麼優缺點,適用的場景等等。

1.what,redis到底是個什麼鬼

要搞清楚一個東西到底是什麼鬼,最簡單最方便也最可靠的方法自然就是google(這個必須要用谷歌爸爸)。都使用redis關鍵字進行搜素,對比一下谷歌爸爸與某搜尋引擎的結果:
谷歌爸爸搜尋結果:
這裡寫圖片描述


第一條redis官網,第二條github官方地址,第三條redis維基百科中文版,第四條維基百科英文版,結果排序堪稱完美。。。基本通過這幾個頁面就能對redis有個清晰快速的瞭解。

這是某搜尋引擎的搜素結果:
這裡寫圖片描述
第一條也是redis官網。至於後面的內容,也不能說太差。只是相比google爸爸的搜尋結果,好像還是感覺差那麼一個檔次。。。

看看維基百科上是怎麼介紹redis的:
Redis是一個開源、支援網路、基於記憶體、鍵值對儲存資料庫,使用ANSI C編寫。從 2015 年 6 月開始,Redis 的開發由Redis Labs贊助,在 2013 年 5 月至 2015 年 6 月期間,其開發由Pivotal贊助。在2013年5月之前,其開發由VMware贊助。根據月度排行網站DB-Engines.com的資料顯示,Redis是最流行的鍵值對儲存資料庫。

簡單總結起來一句話:redis是目前最流行的基於記憶體的kv對非關係型資料庫。

2.檢視redis叢集資訊

QA同學已經幫忙給分配了一個測試環境的redis叢集。關於redis叢集的搭建,後面會專門有文章介紹。咱們先檢視一下redis的資訊:
cd 到rediscluster目錄,然後執行./redis-cli info

/home/work/rediscluster$ ./redis-cli info
# Server
redis_version:3.0.7
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:70563032b83216cf
redis_mode:
cluster os:Linux 2.6.32-358.el6.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll gcc_version:4.4.7 process_id:18697 run_id:921ef4b414662ab0767ffffdf31ec1f16dfb6168 tcp_port:6379 uptime_in_seconds:174297 uptime_in_days:2 hz:10 lru_clock:8258346 config_file:/home/work/rediscluster/6379/conf/./redis.conf ...

資訊太長,咱們只檢視一下server部分的資訊。很容易看出來redis的版本為3.0.7。

3.檢視redis例項

因為是redis叢集,所以叢集起的redis例項不止一個。檢視一下叢集中redis程序有多少:

ps -ef | grep redis
root     18697     1  0 Jul05 ?        00:04:30 ../bin/redis-server *:6379 [cluster]
root     18701     1  0 Jul05 ?        00:06:45 ../bin/redis-server *:6380 [cluster]
root     18705     1  0 Jul05 ?        00:06:19 ../bin/redis-server *:6381 [cluster]
root     18709     1  0 Jul05 ?        00:05:48 ../bin/redis-server *:6382 [cluster]
root     18714     1  0 Jul05 ?        00:06:15 ../bin/redis-server *:6383 [cluster]
root     18718     1  0 Jul05 ?        00:07:02 ../bin/redis-server *:6384 [cluster]
root     18722     1  0 Jul05 ?        00:05:10 ../bin/redis-server *:6385 [cluster]
tester   21770 21654  0 15:28 pts/1    00:00:00 grep --color redis

由此可見,整個叢集有7個redis例項,分別對應了6379-6385埠。