一、redis簡介php
redis是一個key-value存儲系統。和Memcached相似,它支持存 儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都 是原子性的。在此基礎上,redis支持各類不一樣方式的排序。與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文件,而且在此基礎上實現了master-slave(主從)同步。html
Redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部分場合能夠對關係數據庫起到很好的補充做用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。git
二、windows下安裝redisgithub
下載地址:https://github.com/dmajkic/redis/downloads;http://pan.baidu.com/s/1gdl9BZt。下載到的Redis支持32bit和64bit。根據本身實際狀況選擇,我選擇64bit。把64bit文件內容拷貝到須要安裝的目錄下,好比:D:\dev\redis-2.4.5。web
Redis文件夾有如下幾個文件redis
redis-server.exe:服務程序
redis-check-dump.exe:本地數據庫檢查
redis-check-aof.exe:更新日誌檢查
redis-benchmark.exe:性能測試,用以模擬同時由N個客戶端發送M個 SETs/GETs 查詢 (相似於Apache的ab工具)
redis.conf:配置文件數據庫
打開一個cmd窗口,使用cd命令切換到指定目錄(D:\dev\redis-2.4.5)運行 redis-server.exe redis.conf 。運行之後出現以下界面。
這就說明Redis服務端已經安裝成功。apache
從新打開一個cmd窗口,使用cd命令切換到指定目錄(D:\dev\redis-2.4.5)運行 redis-cli.exe -h 127.0.0.1 -p 6379,其中 127.0.0.1是本地ip,6379是redis服務端的默認端口。運行成功以下圖所示。
這樣,Redis windows環境下搭建已經完成,是否是很簡單。
這樣,Redis windows環境下搭建已經完成,是否是很簡單。windows
環境已經搭建好,總得測試下吧。好比:存儲一個key爲test,value爲hello world的字符串,而後獲取key值。
正確輸出 hell world,測試成功!緩存
三、PHP中添加phpredis擴展
下載 dll文件
http://download.csdn.net/download/bluesky321/5355093
php_redis.dll 擴展 For PHP5.4.x
PHP5.4.x 的 redis 擴展 php_redis.dll
測試平臺:Windows XPx32 (FastCGI PHP5.4.9 Nginx 1.4.0)
包含 Non Thread Safe 和 Thread Safe 兩個版本
首先把php_redis.dll 和 php_igbinary.dll 放入PHP的ext文件夾,而後在php.ini配置文件裏添加以下代碼:
extension=php_igbinary.dll
extension=php_redis.dll
重啓web服務器
注意:extension=php_igbinary.dll必定要放在extension=php_redis.dll的前面,不然此擴展不會生效
四、PHP中使用
測試代碼一:
<?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); $redis->set('test','hello redis'); echo $redis->get('test'); ?>
輸出 hello redis 成功!
測試代碼二:
<?php $redis = new Redis(); $redis->connect("192.168.138.2","6379"); //php客戶端設置的ip及端口 //存儲一個 值 $redis->set("say","Hello World"); echo $redis->get("say"); //應輸出Hello World //存儲多個值 $array = array('first_key'=>'first_val', 'second_key'=>'second_val', 'third_key'=>'third_val'); $array_get = array('first_key','second_key','third_key'); $redis->mset($array); var_dump($redis->mget($array_get)); ?>
附:windows下redis的安裝配置和php擴展使用phpredis
1、windows下安裝reid
一、 首先安裝先下載redis數據庫
下載地址: https://github.com/dmajkic/redis/downloads;http://pan.baidu.com/s/1gdl9BZt
二、解壓安裝文件。獲得如下目錄
redis-server.exe:服務程序
redis-check-dump.exe:本地數據庫檢查
redis-check-aof.exe:更新日誌檢查
redis-benchmark.exe:性能測試,用以模擬同時由N個客戶端發送M個 SETs/GETs 查詢 (相似於 Apache 的ab 工具).
redis.conf 配置文件
三、啓動Redis服務(conf文件指定配置文件,若不指定則默認):
D:\redis-2.0.2>redis-server.exe redis.conf
四、啓動cmd窗口要一直開着,關閉後則Redis服務關閉。
這時服務開啓着,另外開一個窗口進行,設置客戶端:
D:\redis-2.0.2>redis-cli.exe -h 202.117.16.133 -p 6379
而後能夠開始玩了:
2、php5.4 鏈接使用redis
一、先下載 phpredis.dll擴展包。下載地址: https://github.com/nicolasff/phpredis/downloads
用phpinfo 查看到時TS vc9。那麼下載的版本就對應好
二、解壓縮以後獲得兩個文件,分別將兩個文件複製到php 目錄的 ext目錄下。
三、修改php.ini文件。加入extension 擴展
extension=php_igbinary.dll
extension=php_redis.dll
四、 重啓apache ,查看phpinfo 界面。以下則表示安裝成功
五、phpredis hellow word 開始你的redis使用
<?php $redis=new Redis(); //redis對象 $redis->connect("127.0.0.1","6379"); //鏈接redis服務器 $redis->set("test","Hello World"); //set字符串值 echo $redis->get("test"); ?>
附:Redis類的一些屬性及方法
a)鏈接redis server
注意,若是頻繁操做redis,不停地connect 和close會很耗性能的,這個時候,建議用pconnect 創建個長鏈接
b)字符串讀寫函數
注意:若是能用批量操做盡可能用批量,減小頻繁鏈接redis數據庫性能
c)hash讀寫函數
d)list讀寫函數
e)set
f)sorted set