Redis 對比 Memcached 並在 CentOS 下進行安裝配置詳解_Redis

來源:互聯網
上載者:User

Redis 是一個開源、支援網路、基於記憶體、索引值對的 Key-Value 資料庫,本篇文章主要介紹了Redis 對比 Memcached 並在 CentOS 下進行安裝配置詳解,有興趣的可以瞭解一下。

瞭解一下 Redis

Redis 是一個開源、支援網路、基於記憶體、索引值對的 Key-Value 資料庫,使用 ANSI C 編寫,並提供多種語言的 API ,它幾乎沒有上手難度,只需要幾分鐘我們就能完成安裝工作,並讓它開始與應用程式順暢協作。換句話來說,只需投入一小部分時間與精力,大家就能獲得立竿見影且效果極佳的效能表現提升,就是說它是一個非常簡單緩衝解決方案。它支援儲存的 Value 類型不僅限於字串,支援主從同步,資料持久化等等,大家都認為 Redis 是最流行的 Key-Value 儲存資料庫,肯定有人問 Memcached 呢?

Redis VS Memcached

首先我剛去 DB-Engines.com 的資料庫排行中看了一下,Redis 排行第九,Key-value store第一位;Memcached 排行二十三,Key-value store第二位。這當然不能說明什麼了。

Redis 支援更多的資料類型,包括:String、Hash、List、Set;Memcached 僅支援一種 String 資料類型。

Redis 通過 Multi/Watch/Exec 等命令可以支援事務的概念,原子性的執行一批命令;Memcached 的應用模式中,除了increment/decrement這樣的原子操作命令,不存在對事務的支援。

Redis 可以以 master-slave的方式設定管理員實現主從同步備份,同時只持兩種持久化方案;Memcached 不保證儲存的資料的有效性,也不做資料的持久化工作。當然這些也都說明不了什麼。

每種事物存在這個世界總有他的意義。Memcached 的內部記憶體管理機制雖然不像 Redis 的那樣複雜,但卻更具實際效率,因為 Memcached 在處理中繼資料時所消耗的記憶體資源相對更少;在橫向擴充方面也比Redis更具優勢,由於其在設計上的思路傾向以及相對更為簡單的功能設定。比如,緩衝一段字串或 Html頁面的時候,相對來說用 Memcached 會更好一些。

CentOS 下 安裝 Redis

1.下載解壓安裝 redis ,這裡是官網下載的最新的3.2.5版本,依然通過wget下載(我喜歡這種方式)。

wget http://download.redis.io/releases/redis-3.2.5.tar.gztar xzf redis-3.2.5.tar.gzmv redis-3.2.5 /usr/local/redis

上面 mv redis-3.2.5 /usr/local/redis 命令是移動 Redis 安裝檔案到安裝目錄,當然這個目錄你可以自訂。

2.進入目錄,編譯安裝

cd /usr/local/redismakemake install

安裝完成,這時候會在/usr/local/bin/目錄下看到redis-server、redis-cli等這個可執行指令碼,進入看一下,如果沒有,就要去解壓目錄複寫進去了。

cd /usr/local/bin/

3.配置redis.conf

回到/usr/local/redis目錄,進行配置:

cd ../redisvim redis.conf

這裡要修改兩個地方,一個binddaemonize就行。

bind這裡配置要注意,預設是只有一個127.0.0.1,這個時候只能自己串連,其他區域網路內是串連不上的。所以,需要配置多個 IP ,這樣就可以區域網路內進行串連了。

daemonize是設定是否後台啟動 Redis,預設no,正常都需要以服務形式啟動 Redis,所以這裡設定為yes

修改完後,儲存退出。

這裡設定檔的各個參數資訊我不再一一贅述,有位叫 linli8 的博主據說熬夜翻譯了一下,哈哈,有興趣可以看看: https://github.com/linli8/cnblogs/blob/master/redis%E5%89%AF%E6%9C%AC.conf

4.啟動

cd /usr/local/bin/redis-server /usr/local/redis/redis.confnetstat -anp | grep 6379

5.測試一下

這裡用命令列模式串連上 Redis 進行一個簡單的設定、擷取緩衝測試。

redis-cli  #串連 Redis ,預設是原生。keys *    #查看現在所有 keyset name mafly  #設定一個key為`name`,value為`mafly`的緩衝對象。get name   #擷取key為`name`的緩衝

6.關閉 Redis

redis-cli shutdown

通過 netstat 可以看出來連接埠已經是TIME_WAIT狀態了。

總結一下

經過這次安裝配置 Redis 的過程,也讓我更加瞭解了一下 Memcached ,也更明白了這兩種最流行的 Key-Value 快取服務的優劣勢,當然大多數都是通過網路擷取,在實際運用中怎樣也在監測中。

每一個開源軟體都值得大家去尊敬,每次用到開源軟體我都懷著一顆感動的心,感謝作者的無私奉獻,當然商用軟體的在國內的境遇依然值得人深思,一家有能力購買正版軟體的公司為什麼還是在用著盜版軟體?

希望這篇文章對你有稍微一點用。也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.