Redis 是一種 K/V 存儲非關系型數據庫,數據存儲在內存中;跟 memcache 非常相像,不過 Redis 支持了更多的數據結構(字符串,鏈表,哈希,集合等)。讀寫速度非常快,官方測試中讀的速度是110000次/s,寫的速度是81000次/s 。通常我們將 Redis 用于隊列,緩存等對性能要求較高的地方。
### 1.安裝 Redis
> 以下僅提供在 Linux 下安裝過程。推薦使用 Centos 7+/Ubuntu 14+ 系統
除了可以按照文中搭建虛擬機或VPS安裝 Redis 外,也推薦你直接使用[新浪云](http://t.cn/RbsUCkH)來部署環境,更方便快捷,注冊賬號贈送的云豆足夠免費使用到學習完整本書的內容。
#### 1.1 編譯安裝
首先我們下載 Redis 安裝包
~~~
$ > wget -c http://download.redis.io/releases/redis-3.2.8.tar.gz
~~~
完成下載后解壓縮安裝包
~~~
$ > tar xzf redis-3.2.8.tar.gz
~~~
進入文件目錄
~~~
$ > cd redis-3.2.8
~~~
安裝
~~~
$ > make
~~~
把配置文件拷貝到 /etc/ 目錄下
~~~
$ > cp redis.conf /etc/
~~~
把命令行工具拷貝到 /usr/local/bin/ 目錄下,以后再用 redis 命令行工具就不需要再跑到 redis-3.2.8 目錄下
~~~
$ > cp redis-benchmark redis-cli redis-server /usr/local/bin/
~~~
修改配置文件,將 redis 設置為以守護進程形式啟動
~~~
$ > vi /etc/redis.conf
~~~
找到`daemonize no`修改為`deamonize yes`
啟動 Redis
~~~
$ > redis-server /etc/redis.conf
~~~
檢查 redis 進程是否正常啟動
~~~
$ > ps -ef | grep redis
~~~
檢查 redis 是否正常運行
~~~
$ > redis-cli
$ [redis-cli]> set test test
$ [redis-cli]> get test
~~~
執行結果返回`test`即 Redis 正常運行
#### 1.2 docker 安裝
如果你當前系統可以使用 docker 那么就更簡單了,只需要執行一行命令即可完成安裝
~~~
$ > sudo docker run -d -p 6379:6379 --name redis-server tutum/redis
~~~
使用`tutum/redis`安裝的 redis,自帶了一個默認密碼。使用以下命令查看 redis 連接密碼
~~~
$ > sudo docker logs redis-server
~~~

### 2.安裝 Redis PECL 拓展
可以通過 pecl 命令或者通過源碼包編譯安裝,本文采用 pecl 命令來安裝 Redis 拓展
在命令行輸入
~~~
$ > pecl install redis
~~~
安裝 Redis PECL 拓展后,執行命令后通過`php --ri redis`命令來檢查 Redis 是否安裝成功,也可以通過`phpinfo`或者`php -m`來檢查 Redis 是否安裝成功。

### 3\. 安裝 ThinkPHP5
可以使用 Composer 來安裝 ThinkPHP5 或者直接下載 ThinkPHP5 源碼核心包,本文采用使用 Composer 方式來安裝
#### 3.1 安裝 Composer
如果已經安裝了 Composer 可以跳過本步驟,但是請確定通過`composer self-update`命令來確保已經使用了最新版本的 Composer
使用以下命令可以直接通過 Composer 官網下載 Composer.phar 并自動安裝到`/usr/local/bin/`目錄下
~~~
$ > php -r "readfile('https://getcomposer.org/installer');" | php -- --install-dir=/usr/local/bin/ --filename=composer
$ > composer self-update
~~~
如果以上安裝過程極慢的話,可以嘗試用以下方式通過 Composer 國內鏡像來安裝。
~~~
$ > php -r "readfile('http://install.phpcomposer.com/installer');" | php -- --install-dir=/usr/local/bin/ --filename=composer
$ > composer config -g repo.packagist composer https://packagist.phpcomposer.com
$ > composer self-update
~~~
#### 3.2 安裝 ThinkPHP5 框架
使用以下命令把最新版本的 ThinkPHP5 框架安裝到當前目錄下的 thinkRedisFirst 文件夾中
~~~
$ > composer create-project topthink/think thinkRedisFirst --prefer-dist
~~~
### 4.Hello World
~~~
public function redis()
{
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
// $redis->auth('password'); # 如果沒有密碼則不需要這行
//把 'test'字符串存入 redis
$redis->set('test_name', 'test');
// 把 'test_name' 的 值從 redis 讀取出來
echo $redis->get('test_name');
}
~~~
如果返回結果顯示`test`,則表示 redis 和 phpredis 都正常運行