ubuntu12.04 安裝redis

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   os   io   strong   

  redis 的關閉命令

    /usr/local/redis/redis-cli -h 127.0.0.1 -p 6379 shutdown 關閉redis伺服器,關閉時一定要指定好藥關閉的redis伺服器的ip和port.

 

下面 參考了原作者的文檔  原作者連結http://www.hello-code.com/blog/nosql/201404/3238.html
1、先去官網找個最新穩定版本的下載連結 http://redis.io/download,目前最新的是2.8.8,好吧就它了,然後複製其連結。

cd /tmp 
wget http://download.redis.io/releases/redis-2.8.8.tar.gz 
cd redis-2.8.8 
make 
make install 
預設安裝到 /usr/local/bin目錄下


2、設定設定檔路徑和服務

在解壓出的目錄中已經有一個設定檔redis.conf了,在utils檔案夾中提供了redis_init_script

sudo mkdir /etc/redis 
sudo cp redis.conf /etc/redis/6379.conf 
cd utils 
sudo cp redis_init_script /etc/init.d/redis_6379  
redis_init_script檔案中預設的設定檔路徑是 /etc/redis/${REDISPORT}.conf,我就不修改它了,保持這個國際慣例~


3、修改設定檔

在修改設定檔前,先建一個目錄

sudo mkdir /var/redis/6379 
sudo vim /etc/redis/6379.conf 
需要修改的項如下:

設定服務為背景程式:daemonize yes
設定記錄檔路徑:logfile "/var/log/redis_6379.log"
設定資料庫檔案路徑:dir "/var/redis/6379"


4、檢查,然後hello world下

sudo service redis_6379 start  這個命令如果不能執行的話 就換成 redis-server 所在的目錄 比如我這裡的命令式

cd /etc/

然後 redis-server /etc/redis/6379.conf
redis-cli 
>set hello world 
>OK 
>get hello 
"world" 
檢查如下內容:

去/var/redis/6379/dump.rdb是否存在
查看/var/log/redis_6379.log是否有內容
以上都是我測試可用的

 

安裝phpredis 模組

首先要安裝git,php5,apache2,php5-dev 這個可以忽略了

sudo apt-get install php5 php5-dev apache2

安裝需要點時間

在php-redis原始碼目錄下,執行

git clone https://github.com/nicolasff/phpredis.git

這裡 然後需要進入下載後的目錄才能執行phpize 本文測試的是

cd phpredis/

phpize

./configure

make && sudo make install

提示資訊:

Installing shared extensions:     /usr/lib/php5/20090626/

 

記住上面的那個提示資訊很重要 然後隨便寫一個php 裡面寫一個phpinfo();查看你的phpini路徑

開啟你的phpini

裡面寫入 extension=/usr/lib/php5/20090626/redis.so

之後重啟nginx 或apache  我這裡因為是lnmp環境

service php5-fpm restart

service nginx restart

之後redis 就ok了

====================================================

 <?php

$redis = new Redis();

$redis->connect(‘127.0.0.1‘,6379);

$redis->set(‘test‘,‘hello world!‘);

echo $redis->get(‘test‘);


?>      

下面是頁面輸出結果  

 

  

 

上面的代碼本人都測試成了 ,下面的是一些參考

其他還參考了 http://blog.csdn.net/love__coder/article/details/8271832

http://redis.io/topics/introduction

http://timyang.net/data/mcdb-tt-redis/

http://redis.io/commands#server

http://code.google.com/p/redis/

 

http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.html

 

Rdis和JQuery一樣是純粹為應用而產生的,這裡記錄的是在CentOS 5.7上學習入門文章:

1.Redis簡介

Redis是 一個key-value儲存系統。和Memcached類似,但是解決了斷電後資料完全丟失的情況,而且她支援更多無化的value類型,除了和 string外,還支援lists(鏈表)、sets(集合)和zsets(有序集合)幾種資料類型。這些資料類型都支援push/pop、add /remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。

2.Redis的效能

下面是官方的bench-mark資料:

  • The test was done with 50 simultaneous clients performing 100000 requests.
  • The value SET and GET is a 256 bytes string.
  • The Linux box is running Linux 2.6, it’s Xeon X3320 2.5Ghz.
  • Text executed using the loopback interface (127.0.0.1).

    Results: about 110000 SETs per second, about 81000 GETs per second.

更多詳細資料請見官方bench-mark page(http://code.google.com/p/redis/wiki/Benchmarks)

3.安裝Redis

Redis的代碼遵循ANSI-C編寫,可以在所有POSIX系統(如Linux, *BSD, Mac OS X, Solaris等)上安裝運行。而且Redis並不依賴任何非標準庫,也沒有編譯參數必需添加。redis的安裝出奇的簡單,這可能也是他風靡的一個原因,讓人很容易上手,不像某些東西,編譯階段就能讓人完全絕望。

先去官網下載源碼:

wget http://redis.googlecode.com/files/redis-2.4.6.tar.gz

解壓:

tar –zxvf redis-2.4.6.tar.gz

編譯

需要說明的事,redis的安裝非常簡單,已經有現成的Makefile檔案,直接運行make命令即可。

make

make install

Redis 由四個可執行檔:redis-benchmarkredis-cliredis-serverredis-stat 這四個檔案,加上一個redis.conf就構成了整個redis的最終可用包。它們的作用如下:

  • redis-server:Redis伺服器的daemon啟動程式
  • redis-cli:Redis命令列操作工具。當然,你也可以用telnet根據其純文字協議來操作
  • redis-benchmark:Redis效能測試工具,測試Redis在你的系統及你的配置下的讀寫效能
  • redis-stat:Redis狀態偵查工具,可以檢測Redis目前狀態參數及延遲狀況

現在就可以啟動redis了,redis只有一個啟動參數,就是他的設定檔路徑。

redis-server /etc/redis.conf

注意,預設複製過去的redis.conf檔案的daemonize參數為no,所以redis不會在後台運行,這時要測試,我們需要重新開一個終端。修改為yes則為後台運行redis。另外設定檔中規定了pid檔案,log檔案和資料檔案的地址,如果有需要先修改,預設log資訊定向到stdout.

下面是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等待系統自己同步)

這時你可以開啟一個終端進行測試了,設定檔中預設的監聽連接埠是6379

我們可以開啟一個Redis用戶端進行測試

[[email protected] ~]# redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> exit
[[email protected] ~]# redis-server /etc/redis.conf
[[email protected] ~]# redis-cli
redis 127.0.0.1:6379> quit

4.redis資料結構

redis 的作者antirez曾稱其為一個資料結構伺服器(data structures server),這是一個非常準確的表述,redis的所有功能就是將資料以其固有的幾種結構儲存,並提供給使用者操作這幾種結構的介面。我們可以想象我們在各種語言中的那些固有資料類型及其操作。

redis目前提供四種資料類型:string,list,setzset(sorted set)和Hash

  • string是最簡單的類型,你可以理解成與Memcached一模一個的類型,一個key對應一個value,其上支援的操作與Memcached的操作類似。但它的功能更豐富。
  • list是一個鏈表結構,主要功能是push、pop、擷取一個範圍的所有值等等。操作中key理解為鏈表的名字。
  • set是集合,和我們數學中的集合概念相似,對集合的操作有添加刪除元素,有對多個集合求交並差等操作。操作中key理解為集合的名字。
  • zset是set的一個升級版本,他在set的基礎上增加了一個順序屬性,這一屬性在添加修改元素的時候可以指定,每次指定後,zset會自動重新按新的值調整順序。可以理解了有兩列的mysql表,一列存value,一列存順序。操作中key理解為zset的名字。
  • Hash資料類型允許使用者用Redis儲存物件類型,Hash資料類型的一個重要優點是,當你儲存的資料對象只有很少幾個key值時,資料存放區的記憶體消耗會很小.更多關於Hash資料類型的說明請見: http://code.google.com/p/redis/wiki/Hashes

在官網上給出了所有支援的介面列表,並副副附有詳細的介紹,地址:

http://code.google.com/p/redis/wiki/CommandReference

另外,作者還提供了一個非常貼心的web命令列類比頁面,供初學者試用redis,地址:

http://try.redis-db.com/

5.redis資料存放區

redis的儲存分為記憶體儲存、磁碟儲存和log檔案三部分,設定檔中有三個參數對其進行配置。

save seconds updatessave配置,指出在多長時間內,有多少次更新操作,就將資料同步到資料檔案。這個可以多個條件配合,比如預設設定檔中的設定,就設定了三個條件。

appendonly yes/no appendonly配置,指出是否在每次更新操作後進行日誌記錄,如果不開啟,可能會在斷電時導致一段時間內的資料丟失。因為redis本身同步資料檔案是按上面的save條件來同步的,所以有的資料會在一段時間內只存在於記憶體中。

appendfsync no/always/everysec appendfsync配置,no表示等作業系統進行資料緩衝同步到磁碟,always表示每次更新操作後手動調用fsync()將資料寫到磁碟,everysec表示每秒同步一次。

6.redis主從配置

redis支援master-slave的主從配置,配置方法是在從機的設定檔中指定slaveof參數為主機的ip和port即可

7.redis起步(連結整理)

項目首頁,下方是各種語言支援列表:

http://code.google.com/p/redis/

作者在wiki中給出了一個非常好的例子,以使我們可以快速上手,地址:

http://code.google.com/p/redis/wiki/TwitterAlikeExample

同時作者推薦的另一個教程,地址:

http://labs.alcacoop.it/doku.php?id=articles:redis_land

一個redis愛好者建立的相關問題討論網站:

http://www.rediscookbook.org/

為什麼使用 Redis及其產品定位

http://www.infoq.com/cn/articles/tq-why-choose-redis

Redis記憶體使用量最佳化與儲存

http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storage

http://blog.csdn.net/love__coder/article/details/8271832

 

相關文章

聯繫我們

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