## 一、redis介紹
redis 是一種nosql數據庫,使用key-value存儲數據,基于內存,所以redis也
可以用來做緩存
## 二、redis與memcache區別
redis可以做持久化保存,memcache不可以。
32位,windows安裝
適用php版本 5.5.12
下載地址:`http://pan.baidu.com/s/1skFlbBZ`
在php環境里配置擴展redis
用phpinfo函數測試redis是否成功。
## 三、redis應用
先啟動
`redis-server.exe`
然后打開
`redis-cli.exe`
php鏈接redis代碼:
~~~
<?php
//如果是TP5需要加命名空間
$redis=new Redis();
$redis->connect("127.0.0.1",6379);
//先設置,然后再把set注釋輸出get測試
//$redis->set('redistest',"測試redis");
echo $redis->get('redistest');
exit;
?>
~~~
## 四、命令:
1,incr 功能:自增長數值。例:
~~~
incr count:2016:8:12:index:pv
incr count:2016:8:12:user:108:index:pv
~~~
作用:統計網站的訪問量
2,setbit+bitcount 功能:統計。例:
~~~
setbit count:user:108 1 1
setbit count:user:108 2 1
setbit count:user:108 5 1
setbit count:user:108 20 1
setbit count:user:108 31 1
bitcount count:user:108
~~~
輸出:5
作用:統計活躍度
3,setex 功能 攝制緩存時間。例:
~~~
setex name 5 zhangsan //設置name張三緩存5秒
get name //張三5秒后 獲取不到數據
~~~
作用:替換php session 做用戶的數據緩存方案
4,哈希
(1)hset hash 設置關聯數組。例:
~~~
hset hash:user:187 username zhangsan
hset hash:user:187 password 123456
hset hash:user:187 sex 1
hset hash:user:187 age 30
~~~
(2)hget hash 獲取單個關聯數組值。例:
~~~
hget hash:user:187 age 30
~~~
(3)hgetall hash 獲取所有關聯數組值.例:
~~~
hgetall hash:user:187
~~~
hmset 同事設置多個關聯數組值.例:
~~~
user:187 username zhangsan password 123456 age 30 sex 1
~~~
## 五、TP5應用:
1,引用緩存
先開啟redis執行文件
~~~
use think\Cache;
~~~
2,配置鏈接
~~~
$options = [
// 緩存類型為File
'type' => 'redis',
// 緩存有效期為永久有效
'expire' => 7200,
//緩存前綴
'prefix' => ''
];
$redis = Cache::connect($options);
//設置redis
$redis->set('type_list', $type_list);
//獲取redis
$redis->get('type_list');
//清楚redis;
$redis->rm('type_list');
~~~