Redis安装和使用指南
From:?http://mwt198668.blog.163.com/blog/static/48803692201132141755962/
Redis安裝指南
作者:Red_Ant
時間:2011-04-20
簡 ?介
? ?redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)。這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步Redis一個分布式緩存
Redis官方主頁:http://www.redis.io/
百?度?? ??百?科:http://baike.baidu.com/view/4595959.htm#sub4595959
Redis中文簡介:http://yuanmuqiuyu2000.blog.sohu.com/162703316.html
?
安裝環境:
版本:Redis-2.2.4
操作系統:CentOS 5.5 X64
賬戶:root
一、安裝準備:
1.請先確認系統安裝了gcc
$?gcc –v???正常情況可以看到版本號
如果得到gcc:command not found?代表gcc沒有安裝,或者安裝有問題
2.解決:可以參考如下進行GCC的安裝(不同系統請各自參考gcc安裝方法)
放入系統安裝光盤,進入cd /media/CentOS_5.5_Final/CentOS/中,按順序安裝如下程序
$?rpm -ivh cpp-4.1.2-48.el5.x86_64.rpm
$?rpm -ivh kernel-headers-2.6.18-194.el5.x86_64.rpm
$?rpm -ivh glibc-headers-2.5-49.x86_64.rpm
$?rpm -ivh glibc-devel-2.5-49.x86_64.rpm
$?rpm -ivh libgomp-4.4.0-6.el5.x86_64.rpm
$?rpm -ivh gcc-4.1.2-48.el5.x86_64.rpm
?
二、開始安裝Redis
首先解壓redis-2.2.4.tar.gz到Linux的指定目錄中,這里舉例我們使用的目錄為/usr/local/redis(自行建立該redis目錄)將解壓后的文件放入該目錄
1.進入該目錄
$?cd /usr/local/redis/redis-2.2.4
2.執行
$?make
注:此過程可能會遇到./mkreleasehdr.sh權限不夠,那么請先將執行
$ cd /usr/local/redis/redis-2.2.4/usr/src
$ chmod 777 mkreleasehdr.sh
如沒有錯誤,安裝結束后能看到
3.到此我們的Redis就安裝完成了
??????我們通過執行./src/redis-server開啟redis服務,然后輸入如下命令可以測試Redis是否正常工作:
??????$?cd src
??????$?./redis-cli
????????????redis> ping??????????????????測試服務是否開啟
????????????PONG???????????????????? ? ? ??服務開啟時可以看到PONG的回應
????????????redis> set foo bar????????將key=foo,value=bar放入redis中
????????????OK???????????????????????????????成功返回OK
????????????Redis> get foo?????????????獲得key=foo的value
????????????"bar"????????????????????????????成功返回”bar”
至此Redis安裝一切正常o(^_^)o
Redis使用入門
一、Redis啟動和關閉
為了方便管理可以在/usr/local/redis目錄中添加3個文件夾
??????$?mkdir /usr/local/redis/bin
??????$?mkdir /usr/local/redis/etc
??????$?mkdir /usr/local/redis/var
???????$?cp redis-server redis-cli redis-benchmark redis-stat /usr/local/redis/bin/
???????$?cp redis.conf /usr/local/redis/etc/
?
因為改變了redis.conf文件的位置,所以啟動方法如下
??????$?mkdir /usr/local/redis/bin
??????$?./redis-server ../etc/redis.conf
?
啟動后可通過ps –ef|preg redis來查看Rredis是否啟動成功
關閉Redis通過
??????$?./redis-cli?????啟動客戶端程序
??????$->shutdown???關閉當前Redis
??????$->exit?????????退出客戶端程序
?
二、配置參數
在我們成功安裝Redis后,我們直接執行redis-server即可運行Redis,此時它是按照默認配置來運行的(默認配置甚至不是后臺運行)。我們希望Redis按我們的要求運行,則我們需要修改配置文件,Redis的配置文件就是我們上面第二個cp操作的redis.conf文件,目前它被我們拷貝到了/usr/local/redis/etc/目錄下。修改它就可以配置我們的server了。如何修改?下面是redis.conf的主要配置參數的意義:
daemonize:是否以后臺daemon方式運行
pidfile:pid文件位置
port:監聽的端口號
timeout:請求超時時間
loglevel:log信息級別
logfile:log文件位置
databases:開啟數據庫的數量
save * *:保存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動保存快照。可設置多個條件。
rdbcompression:是否使用壓縮
dbfilename:數據快照文件名(只是文件名,不包括目錄)
dir:數據快照的保存目錄(這個是目錄)
appendonly:是否開啟appendonlylog,開啟的話每次寫操作會記一條log,這會提高數據抗風險能力,但影響效率。
appendfsync:appendonlylog如何同步到磁盤(三個選項,分別是每次寫都強制調用fsync、每秒啟用一次fsync、不調用fsync等待系統自己同步)
下面是一個略做修改后的配置文件內容:
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
將上面內容寫為redis.conf并保存到/usr/local/redis/etc/目錄下
然后在命令行執行:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
即可在后臺啟動redis服務,這時你通過
telnet 127.0.0.1 6379
即可連接到你的redis服務
三、客戶端程序
??????因為本人業務需要,這里只列舉Java客戶端,其他語言客戶端請參考官方文檔(http://www.redis.io/clients),現有Java客戶端有4種:
?? ?
其中Jedis是官方主推的Java客戶端,架構思路清晰,小巧,下面是用Jedis客戶端訪問Redis
版本:jedis-1.5.2.jar
代碼示例:
?? ?String?host =?"192.168.169.132";
????// host提供Redis服務的主機IP,Redis提供默認端口6379
????Jedis jedis =?new?Jedis(host);
????jedis.ping();// return PONG,測試主機服務是否正常啟動
????jedis.set("hello",?"world");?// return OK
????jedis.get("hello");?// return "world"
????jedis.shutdown();?//?關閉該Redis
?
根據現在有環境進行的測試結果(僅供參考):
??????單客戶端,單線程向Redis服務器中添加10,0000key用時20秒左右
??????單客戶端,10線程向Redis服務器中添加10,0000key用時6秒左右
四、同步機制
??????Redis到目前使用的版本為止只支持master-slave(主-從)同步,不支持master-master??(主-主)同步。
??????1.設置同步:
??????在Slave機器的redis.conf配置文件中修改
????????????# slaveof <masterip>?<masterport>???????????????
????????????例如:slaveof 192.168.169.132 6379
????????????<masterip>主機IP
????????????<masterport>主機端口
?
??????2.多個從機,可以讓多個從機指向一個相同的主機。
??????3.串聯同步,可以讓一個從機指向一個主機,讓另一個從機指向剛才的從機,從而實現串聯;??????????從機只同步其主機的數據。
注:切忌不可以讓主機和從機相互指向對方,否則將無法同步。
?
附???錄
一、常用命令格式
啟動Redis服務:
1.默認啟動:讀取src下的redis.conf配置文件啟動redis
??????$?./redis-server
2.指定配置文件啟動:
??????$?./redis-server ../etc/redis.conf??(使用指定位置的配置文件來啟動Redis)
?
啟動Redis客戶端:
1.啟動默認客戶端,連接到默認src下的redis.conf配置文件中地址的Redis
??????$?./redis-cli
2.連接到指定地址的Redis
??????$?./redis-cli –h 192.168.169.132
3.?連接到指定地址和端口的Redis
??????$?./redis-cli –h 192.168.169.132 –p 6380
總結
以上是生活随笔為你收集整理的Redis安装和使用指南的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GDI与OpenGL与DirectX之间
- 下一篇: 爬虫(六十九)简明 jieba 中文分词