Redis數(shù)據(jù)庫(kù)的安裝配置方法
來(lái)源:易賢網(wǎng) 閱讀:1152 次 日期:2015-04-14 14:43:56
溫馨提示:易賢網(wǎng)小編為您整理了“Redis數(shù)據(jù)庫(kù)的安裝配置方法”,方便廣大網(wǎng)友查閱!

redis 是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。 redis的出現(xiàn),很大程度補(bǔ)償了memcached這類keyvalue存儲(chǔ)的不足,在部 分場(chǎng)合可以對(duì)關(guān)系數(shù)據(jù)庫(kù)起到很好的補(bǔ)充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。問(wèn)題是這個(gè)項(xiàng)目還很新,可能還不足夠穩(wěn)定,而且沒(méi)有在實(shí)際的一些大型系統(tǒng)應(yīng)用的實(shí)例。此外,缺乏mc中批量get也是比較大的問(wèn)題,始終批量獲取跟多次獲取的網(wǎng)絡(luò)開(kāi)銷是不一樣的。

性能測(cè)試結(jié)果:

SET操作每秒鐘 110000 次,GET操作每秒鐘 81000 次,服務(wù)器配置如下:

Linux 2.6, Xeon X3320 2.5Ghz.

stackoverflow 網(wǎng)站使用 Redis 做為緩存服務(wù)器。

安裝過(guò)程:

Redis是一種高級(jí)key-value數(shù)據(jù)庫(kù)。它跟memcached類似,不過(guò)數(shù)據(jù)可以持久化,而且支持的數(shù)據(jù)類型很豐富。有字符串,鏈表,集 合和有序集合。支持在服務(wù)器端計(jì)算集合的并,交和補(bǔ)集(difference)等,還支持多種排序功能。所以Redis也可以被看成是一個(gè)數(shù)據(jù)結(jié)構(gòu)服務(wù) 器。

Redis的所有數(shù)據(jù)都是保存在內(nèi)存中,然后不定期的通過(guò)異步方式保存到磁盤上(這稱為“半持久化模式”);也可以把每一次數(shù)據(jù)變化都寫(xiě)入到一個(gè)append only file(aof)里面(這稱為“全持久化模式”)。

一、下載最新版

wget

二、解壓縮

tar redis-2.0.0-rc4.tar.gz

三、安裝C/C++的編譯組件(非必須)

apt-get install build-essential

四、編譯

cd redis-2.0.0-rc4

make

make命令執(zhí)行完成后,會(huì)在當(dāng)前目錄下生成本個(gè)可執(zhí)行文件,分別是redis-server、redis-cli、redis-benchmark、redis-stat,它們的作用如下:

redis-server:Redis服務(wù)器的daemon啟動(dòng)程序

redis-cli:Redis命令行操作工具。當(dāng)然,你也可以用telnet根據(jù)其純文本協(xié)議來(lái)操作

redis-benchmark:Redis性能測(cè)試工具,測(cè)試Redis在你的系統(tǒng)及你的配置下的讀寫(xiě)性能

redis-stat:Redis狀態(tài)檢測(cè)工具,可以檢測(cè)Redis當(dāng)前狀態(tài)參數(shù)及延遲狀況

在后面會(huì)有這幾個(gè)命令的說(shuō)明,當(dāng)然是從網(wǎng)上抄的。。。

五、修改配置文件

/etc/sysctl.conf

添加

vm.overcommit_memory=1

刷新配置使之生效

sysctl vm.overcommit_memory=1

補(bǔ)充介紹:

**如果內(nèi)存情況比較緊張的話,需要設(shè)定內(nèi)核參數(shù):

echo 1 > /proc/sys/vm/overcommit_memory

內(nèi)核參數(shù)說(shuō)明如下:

overcommit_memory文件指定了內(nèi)核針對(duì)內(nèi)存分配的策略,其值可以是0、1、2。

0, 表示內(nèi)核將檢查是否有足夠的可用內(nèi)存供應(yīng)用進(jìn)程使用;如果有足夠的可用內(nèi)存,內(nèi)存申請(qǐng)?jiān)试S;否則,內(nèi)存申請(qǐng)失敗,并把錯(cuò)誤返回給應(yīng)用進(jìn)程。

1, 表示內(nèi)核允許分配所有的物理內(nèi)存,而不管當(dāng)前的內(nèi)存狀態(tài)如何。

2, 表示內(nèi)核允許分配超過(guò)所有物理內(nèi)存和交換空間總和的內(nèi)存

**編輯redis.conf配置文件(/etc/redis.conf),按需求做出適當(dāng)調(diào)整,比如:

daemonize yes #轉(zhuǎn)為守護(hù)進(jìn)程,否則啟動(dòng)時(shí)會(huì)每隔5秒輸出一行監(jiān)控信息

save 60 1000 #減小改變次數(shù),其實(shí)這個(gè)可以根據(jù)情況進(jìn)行指定

maxmemory 256000000 #分配256M內(nèi)存

在我們成功安裝Redis后,我們直接執(zhí)行redis-server即可運(yùn)行Redis,此時(shí)它是按照默認(rèn)配置來(lái)運(yùn)行的(默認(rèn)配置甚至不是后臺(tái)運(yùn) 行)。我們希望Redis按我們的要求運(yùn)行,則我們需要修改配置文件,Redis的配置文件就是我們上面第二個(gè)cp操作的redis.conf文件,目前 它被我們拷貝到了/usr/local/redis/etc/目錄下。修改它就可以配置我們的server了。如何修改?下面是redis.conf的主 要配置參數(shù)的意義:

daemonize:是否以后臺(tái)daemon方式運(yùn)行

pidfile:pid文件位置

port:監(jiān)聽(tīng)的端口號(hào)

timeout:請(qǐng)求超時(shí)時(shí)間

loglevel:log信息級(jí)別

logfile:log文件位置

databases:開(kāi)啟數(shù)據(jù)庫(kù)的數(shù)量

save * *:保存快照的頻率,第一個(gè)*表示多長(zhǎng)時(shí)間,第三個(gè)*表示執(zhí)行多少次寫(xiě)操作。在一定時(shí)間內(nèi)執(zhí)行一定數(shù)量的寫(xiě)操作時(shí),自動(dòng)保存快照。可設(shè)置多個(gè)條件。

rdbcompression:是否使用壓縮

dbfilename:數(shù)據(jù)快照文件名(只是文件名,不包括目錄)

dir:數(shù)據(jù)快照的保存目錄(這個(gè)是目錄)

appendonly:是否開(kāi)啟appendonlylog,開(kāi)啟的話每次寫(xiě)操作會(huì)記一條log,這會(huì)提高數(shù)據(jù)抗風(fēng)險(xiǎn)能力,但影響效率。

appendfsync:appendonlylog如何同步到磁盤(三個(gè)選項(xiàng),分別是每次寫(xiě)都強(qiáng)制調(diào)用fsync、每秒啟用一次fsync、不調(diào)用fsync等待系統(tǒng)自己同步)

下面是一個(gè)略做修改后的配置文件內(nèi)容:

代碼如下:

daemonize yes

pidfile /usr/local/redis/var/redis.pid

port 6379

timeout 300

loglevel debug

logfile /usr/local/redis/var/redis.log

databases 16

save 900 1

save 300 10

save 60 10000

rdbcompression yes

dbfilename dump.rdb

dir /usr/local/redis/var/

appendonly no

appendfsync always

glueoutputbuf yes

shareobjects no

shareobjectspoolsize 1024

將上面內(nèi)容寫(xiě)為redis.conf并保存到/usr/local/redis/etc/目錄下

然后在命令行執(zhí)行:

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

即可在后臺(tái)啟動(dòng)redis服務(wù),這時(shí)你通過(guò)

telnet 127.0.0.1 6379

即可連接到你的redis服務(wù)。

六、啟動(dòng)服務(wù)并驗(yàn)證

啟動(dòng)服務(wù)器

./redis-server

$redis-server /etc/redis.conf

查看是否成功啟動(dòng)

$ ps -ef | grep redis

./redis-cli ping

PONG

七、啟動(dòng)命令行客戶端賦值取值

redis-cli set mykey somevalue

./redis-cli get mykey

八、關(guān)閉服務(wù)

$ redis-cli shutdown

#關(guān)閉指定端口的redis-server

$redis-cli -p 6380 shutdown

九、客戶端也可以使用telnet形式連接。

[root@dbcache conf]# telnet 127.0.0.1 6379

Trying 127.0.0.1...

Connected to dbcache (127.0.0.1).

Escape character is '^]'.

set foo 3

bar

+OK

get foo

$3

bar

^]

telnet> quit

Connection closed.

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
易賢網(wǎng)手機(jī)網(wǎng)站地址:Redis數(shù)據(jù)庫(kù)的安裝配置方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)