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.gz
tar xzf redis-3.2.5.tar.gz
mv redis-3.2.5 /usr/local/redis

wget.png

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

2.進入目錄,編譯安裝

cd /usr/local/redis
make
make install

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

cd /usr/local/bin/

bin.png

3.配置redis.conf

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

cd ../redis
vim redis.conf

vim_conf.png

這里要修改兩個地方,一個binddaemonize就行。
bind這里配置要注意,默認是只有一個127.0.0.1,這個時候只能自己連接,其他局域網內是連接不上的。所以,需要配置多個 IP ,這樣就可以局域網內進行連接了。
bind.png

daemonize是設置是否后台啟動 Redis,默認no,正常都需要以服務形式啟動 Redis,所以這里設置為yes
vim_daemonize.png

修改完后,保存退出。

這里配置文件的各個參數信息我不再一一贅述,有位叫 linli8 的博主據說熬夜翻譯了一下,哈哈,有興趣可以看看: https://github.com/linli8/cnblogs/blob/master/redis副本.conf

4.啟動

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

redis_server.png

5.測試一下
這里用命令行模式連接上 Redis 進行一個簡單的設置、獲取緩存測試。

redis-cli    #連接 Redis ,默認是本機的。
keys *       #查看現在所有 key
set name mafly    #設置一個key為`name`,value為`mafly`的緩存對象。
get name     #獲取key為`name`的緩存

set_test.png

6.關閉 Redis

redis-cli shutdown

shutdown.png

通過 netstat 可以看出來端口已經是TIME_WAIT狀態了。

總結一下

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

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

希望這篇文章對你有稍微一點用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM