1. 程式人生 > >PHP 開發 APP 介面 --Redis篇

PHP 開發 APP 介面 --Redis篇

Redis 可以定期將資料備份到磁碟中(持久化),同時不僅僅支援簡單的key/value 型別的資料,同時還提供list,set,hash等資料結構的儲存;Memcache 只是簡單的key/value 快取。

 

① 開啟 redis 服務:

[[email protected] bin]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

 

② 開啟 redis 終端:

[[email protected] bin]# ./redis-cli

 

③ 設定快取值:

127.0.0.1:6379> set index-mk-cache '資料'

 

④ 獲取快取資料:

127.0.0.1:6379> get index-mk-cache

當獲取一個不存在的值時返回 nil:

 

⑤ 設定過期時間(用處非常多):

127.0.0.1:6379> setex key 10 'cache'

時間單位為秒

 

⑥ 刪除快取:

127.0.0.1:6379> del key

刪除成功時返回 1。

 

 

PHP 操作 Redis

① 安裝 phpredis 擴充套件

把 owlient-phpredis-2.1.1-1-g90ecd17.tar.gz 複製到 /root 目錄下

複製程式碼
tar -zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz 
cd owlient-phpredis-90ecd17/
/usr/local/php/bin/phpize  
# 如果 上一個命令報錯則執行 yum install autoconf
./configure --with-php-config=/usr/local/php/bin/php-config 
make 
make install  
複製程式碼

安裝完成後顯示:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

 

修改 php.ini

複製程式碼
vi /usr/local/php/lib/php.ini  

  #查詢extension_dir,修改為  extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" 

  #新增redis  

  extension = redis.so  

  #重啟apache  

  /usr/local/apache2/bin/apachectl restart

複製程式碼

 

② php 連結redis 服務-connect(127.0.0.1,6379)

③ set 設定快取

在 /usr/local/apache2/htdocs/App 下新建一個 php 程式 setCache.php

vim setCache.php

setCache.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);

$redis->set('name','dee');

然後在命令列中執行php 檔案:

/usr/local/php/bin/php -f setCache.php

 

進入 redis 終端:

/usr/local/redis/bin/redis-cli

獲取剛才設定的值:

get name

設定成功。

 

④ get 獲取快取

在 /usr/local/apache2/htdocs/App 下新建一個 php 程式 getCache.php

vim getCache.php

getCache.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);

var_dump($redis->get('name'));

執行檔案:

/usr/local/php/bin/php -f getCache.php 

php 獲取redis 快取成功。

 

再例,設定快取失效時間。編輯 setCache.php:

vim setCache.php

setCache.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);

$redis->setex('name',10,'emperor');

 

執行 setCache.php 和 getCache.php

 

 擴充套件:把redis 的操作封裝成類。

 

① 開啟 redis 服務:

[[email protected] bin]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

 

② 開啟 redis 終端:

[[email protected] bin]# ./redis-cli

 

③ 設定快取值:

127.0.0.1:6379> set index-mk-cache '資料'

 

④ 獲取快取資料:

127.0.0.1:6379> get index-mk-cache

當獲取一個不存在的值時返回 nil:

 

⑤ 設定過期時間(用處非常多):

127.0.0.1:6379> setex key 10 'cache'

時間單位為秒

 

⑥ 刪除快取:

127.0.0.1:6379> del key

刪除成功時返回 1。

 

 

PHP 操作 Redis

① 安裝 phpredis 擴充套件

把 owlient-phpredis-2.1.1-1-g90ecd17.tar.gz 複製到 /root 目錄下

複製程式碼
tar -zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz 
cd owlient-phpredis-90ecd17/
/usr/local/php/bin/phpize  
# 如果 上一個命令報錯則執行 yum install autoconf
./configure --with-php-config=/usr/local/php/bin/php-config 
make 
make install  
複製程式碼

安裝完成後顯示:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

 

修改 php.ini

複製程式碼
vi /usr/local/php/lib/php.ini  

  #查詢extension_dir,修改為  extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" 

  #新增redis  

  extension = redis.so  

  #重啟apache  

  /usr/local/apache2/bin/apachectl restart

複製程式碼

 

② php 連結redis 服務-connect(127.0.0.1,6379)

③ set 設定快取

在 /usr/local/apache2/htdocs/App 下新建一個 php 程式 setCache.php

vim setCache.php

setCache.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);

$redis->set('name','dee');

然後在命令列中執行php 檔案:

/usr/local/php/bin/php -f setCache.php

 

進入 redis 終端:

/usr/local/redis/bin/redis-cli

獲取剛才設定的值:

get name

設定成功。

 

④ get 獲取快取

在 /usr/local/apache2/htdocs/App 下新建一個 php 程式 getCache.php

vim getCache.php

getCache.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);

var_dump($redis->get('name'));

執行檔案:

/usr/local/php/bin/php -f getCache.php 

php 獲取redis 快取成功。

 

再例,設定快取失效時間。編輯 setCache.php:

vim setCache.php

setCache.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);

$redis->setex('name',10,'emperor');

 

執行 setCache.php 和 getCache.php

 

 擴充套件:把redis 的操作封裝成類。