標籤:
一、redis、memcached、mongoDB 對比
Memcached 和 Redis都是記憶體型資料庫,資料儲存在記憶體中,通過tcp直接存取,速度快,並發高。Mongodb是文檔型的非關係型資料庫,其優勢在於查詢功能比較強大,能儲存海量資料。
Memcached 是一個高效能的分布式記憶體對象緩衝系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中快取資料和對象來減少讀取資料庫的次數,從而提供動態、資料庫驅動網站的速度。Memcached 的分布式不是在伺服器端實現的,而是在用戶端應用中實現的,即通過內建演算法制定目標資料的節點,Memcached 的分布式是基於用戶端的Key的hash來做均衡,是個偽分布式的系統。
Redis是一個key-value儲存系統。和 Memcached 類似,它支援儲存的value類型相對更多,包括string(字串)、 list(鏈表)、set(集合)和zset(有序集合)。這些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,Redis支援各種不同方式的排序。與 Memcached 一樣,為了保證效率,資料都是緩衝在記憶體中。區別的是Redis會周期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案。
二、redis、memcached、mongoDB 的安裝
*******************************************************redis安裝,一鍵安裝指令碼後續附上*************************************
1、下載Redis2.8.19和安裝Tcl-8.6.3
wget http://download.redis.io/releases/redis-2.8.19.tar.gz
wget http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz
tar -zxf tcl8.6.3-src.tar.gz
cd tcl8.6.3/unix/
./configure
make
make install
tar -zxf redis-2.8.19.tar.gz
cd redis-2.8.19
2、編譯
[[email protected] redis-2.8.19]# make
3、安裝
[[email protected] redis-2.8.19]# make PREFIX=/usr/local/redis install 這步完了之後,Redis就被安裝到了/usr/local/redis/ 下面了
4、配置,下面就是修改設定檔
cp ./redis.conf /usr/local/redis/
vim /usr/local/redis/redis.conf
daemonize yes #redis將以守護進程的方式運行,預設為no會暫用你的終端
timeout 300 #當 用戶端閑置多長時間後關閉串連,如果指定為0,表示關閉該功能
dir /data/redisdb #指定資料庫持久化資料目錄
mkdir -p /data/redisdb #建立redis資料存放目錄
5、運行/開啟Redis
/usr/local/redis/bin/redis-server
*******************************************************memcached安裝,一鍵安裝指令碼後續附上*************************************
一、安裝gcc、make和libevent
yum -y install gcc make
wget http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz
tar zxf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable
./configure
make && make install
二、下載memcached安裝:
wget http://memcached.org/files/memcached-1.4.20.tar.gz
cd memcached-1.4.20
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/lib
make && make install
三、配置啟動
# vi /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don‘t
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/local/memcached/bin/memcached -p 12621 -U 0 -d -r -u root -m 2040 -c 1024 -t 4
儲存後退出,手動啟動服務
/usr/local/memcached/bin/memcached -p 12621 -U 0 -d -r -u root -m 2040 -c 1024 -t 4
*******************************************************mongoDB安裝,一鍵安裝指令碼後續附上*************************************
1、下載安裝
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.1.tgz
tar -zxvf mongodb-linux-i686-2.0.2-rc2.tgz
mv mongodb-linux-i686-2.0.2-rc2 mongodb
在mongodb目錄下建立一個data目錄存放資料、建立一個log目錄存放日誌,然後在該目錄下建立一個記錄檔,命名為mongodb.log
mkdir log
mkdir data
cd log
touch mongodb.log
然後進入到mongodb/bin目錄中
cd mongodb/bin
使用mongod命令建立一個mongodb資料庫連結,連接埠號碼設定為100001,資料庫的路徑為/mongodb/data,日誌路徑為/mongodb/log/mongodb.log
2、啟動測試
啟動命令 :
./bin/mongod -port 10001 --dbpath data/ --logpath log/mongodb.log
all output going to: log/mongodb.log
使用用戶端來串連該資料庫
重新開啟一個終端,然後切換到mongodb目錄下:
cd usr/local/mongodb
然後使用bin/mongo命令來串連該資料庫
./bin/mongo localhost:10001
通過瀏覽器訪問
在瀏覽器地址欄輸入: http://localhost:10001/ 然後斷行符號訪問
可以看到如下提示:You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
然後根據提示把連接埠號碼加上1000訪問 http://localhost:11001/ 、
就能夠訪問到Monodb的服務端web頁面
通過設定檔來配置Mongodb
首先在mongodb目錄下建立一個檔案,檔案名稱任意,在這裡我取名為:mongodb.conf
vi mongodb.conf
然後在設定檔中添加配置資訊
port=10001
dbpath=data/
logpath=log/mongodb.log
logappend=true
解釋說明:
port=10001【代表連接埠號碼,如果不指定則預設為 27017 】
dbpath=data/ 【資料庫路徑】
logpath=log/mongodb.log 【日誌路徑】
logappend=true 【記錄檔自動累加,而不是覆蓋】
啟動Mongodb服務
./bin/mongod -f mongodb.conf
all output going to: log/mongodb.log
然後訪問方式和之前的一樣。
redis、memcached、mongoDB 對比與安裝