### 利用反射感知redis類中可以操作的成員方法
```
$method = new ReflectionClass('Redis'); //通過Redis類實例化一個反射類對象
$rst = $method->getMethods();//獲得Redis類中所有的成員方法
var_dump($str);
#連接redis
$redis = new Redis();
$redis->connect('127.0.0.1', '6379');
$redis->mset(array('addr1'=>'beijing', 'add2' => 'shanghai'));
$result = $redis->mget(array('addr1','add2'));
var_dump($result);
```
### 利用redis隊列實現秒殺
首先把要秒殺的商品加入到隊列中,模擬10件商品
```
$good_num = 10;
for($i=0; $i<$good_num; $i++) {
$redis->lpush('good_store', 1);
}
var_dump($redis->llen('good_store'));
```
給隊列設置過期時間(20秒):
```
$redis->setTimeout('good_store',20);
```
實現秒殺:
在有效時間內,將列隊從頭部彈出(隊列是一個一個出,不必擔心會出現錯誤)
```
$count = $redis->lpop('good_store');
if(!$count) {
echo '秒殺結束';
return;
}
var_dump('搶購成功');
```
### redis緩存服務
```
$pdo = new PDO('mysql:host=localhost;dbname=douphp','***','******');
$sql = 'select * from dou_article';
$smt = $pdo->query($sql);
$list = $smt->fetchAll(PDO::FETCH_ASSOC);
$redis = new Redis();
$redis->connect('127.0.0.1', '6379');
$res = ['name' => 'john', 'age' => 19, 'sex' => 'man'];
$redis->set('reds', json_encode($list));
$data = json_decode($redis->get('reds'));
var_dump($data);
```