php æä½redisæ¡ä¾
æ¡ä¾1ï¼æ¬å°æä½éè¿phpæä½redis
windowsæ¬å°è¿è¡åºç¨
é¦å ä¿è¯èªå·±çç¯å¢å·²ç»å®è£ ä¸äºredisï¼æ°å»ºä¸ä¸ªPHPæä»¶
ç¼å phpinfo();
æ§è¡è¿ä¸ªæä»¶ï¼çä¸ä¼ä¸ä¼æredisçæå¡
å¦ææ²¡æ 请å¨ç¯å¢ä¸çphpçphpçæ¬çæä»¶å¤¹ä¸çextæä»¶å¤¹ä¸æ¾å ¥ä¸ä¸ª php_redis.dllæä»¶
å¯ä»¥å¨æçèµæºé£è¾¹èªè¡è·å
https://download.****.net/download/zhangzeshan/11128805
妿æ§è¡ä¹åï¼å¾ä¸æ»ï¼å¯ä»¥çå° redisçé 置信æ¯
è¿è¡¨ç¤ºä½ çç¯å¢å·²ç»é 置好äºredis
æ¥ä¸æ¥å°±æ¯æ¬å°å¼å¯redisæå¡
第ä¸ä¸ªcmdçªå£ cdå°rediså®è£ çä½ç½® æ§è¡å½ä»¤ redis-server
ç¶åæå¼ç¬¬äºcmdçªå£ åæ ·ä¹æ¯cdå°rediså®è£ çä½ç½® æ§è¡å½ä»¤ redis-cli -a rediså¯ç
第ä¸ä¸ªçªå£ä¸è¦å ³é
æ¥ä¸æ¥å¨phpæä»¶ä¸ è¿ä¸ªæä»¶ç¨æ¥setæ°æ®
$redis = new Redis();
//è¿æ¥redisæå¡
$redis->connect('192.168.1.231');//å°å
$redis->auth('123456');//å¯ç
//æ·»å stringç±»åçæ°æ®
$redis->set('string1','zzs');
//æ·»å å个åå¸ç±»åçæ°æ®
$redis->hSet('hash1','1','2');
//æ·»å å¤ä¸ªåå¸ç±»åçæ°æ®
$redis->hMSet('hash2',array(
'id'=>'1',
'username'=>'zzs',
'age'=>'23'
));
//æ·»å é¾è¡¨ç±»åçæ°æ®
$redis->lPush('list1','zzs');
$redis->lPush('list1','cnc');
$redis->lPush('list1','hzy');
//æ·»å éåç±»åæ°æ® æ åºéå
$redis->sadd('set1','zzs','czx','hzy','lys');
//æ·»å æåºéå
$redis->zadd('zset1',10,'zzs',2,'asdasdas');
ç¶åæ§è¡è¿ä¸ªæä»¶
æ§è¡ä¹å å尿们ç第äºä¸ªcmdçªå£
è¾å ¥keys *è·åredisæå¡å½åè¿ä¸ªæ°æ®åºçææé®
å°±è½ç尿们åæsetçé£ä¸ªé® user888
åæ¥ä¸ªæä»¶ ç¨æ¥è·åæ°æ® get
$redis = new Redis();
$redis->connect('192.168.1.213');
$redis->auth('123456');
var_dump($redis->get('string1'));//è·ååç¬¦ä¸²æ°æ®
var_dump($redis->hGetAll('hash2'));//è·åhashç±»åæ°æ®
var_dump($redis->lRange('list1',0,-1));//è·ålist1é¾è¡¨çæææ°æ® 0 -1 表示å
¨é¨
var_dump($redis->sMembers('set1'));//è·åæ åºéåçæ°æ®
var_dump($redis->zRange('zset1',0,-1));//è·åæåºéåæ°æ®
echo '<pre>';
妿䏿¯windowæ¬å°æä½ è¦è¿æ¥æå¡å¨çè¯ ä½æ¯åºç°è¿æ¥ä¸æåçé®é¢
æå¤§å¯è½æ¯æå¡å¨çé²ç«å¢æ²¡æå ³æ
æ§è¡å½ä»¤
service iptables stop
æ¡ä¾2ï¼æ¬å°æä½éè¿phpæä½redisï¼ç»éåè½ï¼
é¦å çä¸å端页é¢
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"></script>
<title>Document</title>
</head>
<body>
<table width="300">
<form action="login1111.php" method="POST">
<tr>
<td colspan="2" align="center">ç¨æ·ç»é</td>
</tr>
<tr>
<td>ç¨æ·å</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>å¯ç </td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><input type="submit" value="ç»é"></td>
</tr>
</form>
</table>
<script>
</script>
</body>
</html>
ç¶åæ°å»ºä¸ä¸ªphpæä»¶ï¼è¿æä»¶ä¸»è¦æ¯æä½redisè¿è¡å¤æç»éçå¯ç æ¯å¦æ£ç¡®
<?php
header('Content-type:text/html;charset=utf8');
$redis = new Redis();
$redis->connect('192.168.0.180');
$redis->auth('123456');
//å®ä¹å¯ç
$ps = '123456';
//æ¥æ¶ä¼ éçç¨æ·ååå¯ç
$name = $_POST['name'];
$password = $_POST['password'];
//夿å¯ç è¾éäºå 次
$flag =$redis->get($name);
if($flag>=5){//妿è¾éäºæ¬¡
echo 'å¯ç è¾éäºæ¬¡ï¼';
exit;
}
//å¯ç çéªè¯
if($password == $ps){
//å¯ç æ£ç¡®
echo 'å¯ç æ£ç¡®ï¼';
}else{
//å¯ç é误 é误次æ°è®°å½èµ·æ¥
//é®çåç§°æ¯ç»éçç¨æ·å
//incr å°é®å¼+1
$redis->incr($name);
//ç»$name è®¾ç½®æææ
$redis->setTimeout($name,1800);
echo 'å¯ç é误ï¼';
}
æ¡ä¾3ï¼éè¿phpæä½rediså¨TPä¸ç使ç¨
以TP3为ä¾
1.å¨é ç½®æä»¶ä¸é ç½®redisçå¯ç 以TP3为ä¾å å¨db.phpä¸ å¤ä¸ä¸ªå ç´ ï¼æ²¡æå¯ç å°±æ éé ç½®è¿ä¸ªï¼
'REDIS_AUTH' =>'123456'//redisæ¬å°å¯ç
2.å ¨å±æ¾å°Redis.class.phpè¿ä¸ªæä»¶ å¢å 䏿®µä»£ç
//ä»é
ç½®æä»¶éé¢ååºè®¾ç½®çå¯ç å¼
if(C('REDIS_AUTH')){
$this->handler->auth(C('REDIS_AUTH'));
}
3.å¨homeä¸é¢æ¾å°indexæ§å¶å¨
ç¼åä¸¤ä¸ªæ¹æ³ è¿è¡æµè¯ æ¯æ¬¡é½è¦è¿è¡åå§åï¼
public function add(){//æ·»å ç¼å
// åå§å
S(array(
'type'=>'redis',
'host'=>'192.168.0.180',
'port'=>'6379'
));
S('username','zzs',180);
S('userAge','12',180);
echo 'ok';
}
public function get(){
//è·åç¼å
// åå§å
S(array(
'type'=>'redis',
'host'=>'192.168.0.180',
'port'=>'6379'
));
var_dump(S('username'));
var_dump(S('userAge'));
}
public function del(){//å é¤ç¼å
S(array(
'type'=>'redis',
'host'=>'192.168.0.180',
'port'=>'6379'
));
S('username',null);
}
æ¡ä¾4ï¼rediså®ç°ç§æ ï¼å¼åææ³ï¼
åæ ·ä»¥TP3为ä¾å
<?php
/**
* Created by PhpStorm.
* User: gaoxi
* Date: 2017-08-22
* Time: 14:34
*/
namespace Home\Controller;
use Boris\Config;
use Think\Cache\Driver\Redis;
/**
* ç½ç«å
¥å£æ§å¶å¨
* Class IndexController
* @package Home\Controller
* @author [email protected]
*/
class RedisController extends BaseController
{
//æåºåä¿¡æ¯æ·»å å°é¾è¡¨ä¸
public function index(){
$redis = new \Redis();
$redis->connect('192.168.0.180');
$redis->auth('123456');
//æåºåä¿¡æ¯æ·»å å°é¾è¡¨ä¸
$goods_number = 100;
//goods_storeæ·»å ä¸ç¾ä¸ªå
ç´
for($i=0;$i<100;$i++){
$redis->lPush('goods_store',1);
}
echo 'OK';
}
//设置åæé¾è¡¨çç¼å卿
public function set(){
$redis = new \Redis();
$redis->connect('192.168.0.180');
$redis->auth('123456');
//设置åæé¾è¡¨çç¼å卿 30ç§
$redis->setTimeout('goods_store',30);
}
//å¼å§æ¢
public function run(){
$redis = new \Redis();
$redis->connect('192.168.0.180');
$redis->auth('123456');
//夿åºåæ¯å¦å
è¶³
$res = $redis->lPop('goods_store');//ä»é¾è¡¨ä¸ç头é¨ååºä¸ä¸ªï¼å é¤å¹¶è¿åï¼
if($res){
//æ¢æå
echo 'success';
// å¼å§æ§è¡è·³è½¬å°ä¸åç页é¢
}else{
echo 'fail';
}
}
}