怎么在PHP中使用Redis實現書簽功能?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

項目結構圖

index.html文件
在這個頁面是用來添加書籍的。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> </head> <body> <form action="add.php" method="post"> <p>請輸入書名:<input type="text" name="title" /></p> <p>請輸入標簽:<input type="text" name="tags" /></p> <p><input type="submit" value="提交" /></p> </form> </body> </html>
add.php文件
這個文件主要處理添加書籍。
首先生成生成自增長的id,用來給書籍的id使用,然后將標簽信息添加到redis中,最后使用pdo將書籍信息添加到數據庫中。
<?php
$redis = new Redis();
$redis->connect('localhost',6379);
//生成自增長的id
$bid = $redis->incr('bid');
//將標簽信息添加到redis中
$tags = explode(',',trim($_POST['tags'],','));
foreach($tags as $t){
$redis->sAdd($t,$bid);
}
//使用pdo將書籍信息添加到數據庫中
$dsn = 'mysql:host=localhost;dbname=test';
$pdo = new PDO($dsn,'root','1234');
$pdo->query('set names utf8');
$sql = 'insert into book values(?,?)';
$st = $pdo->prepare($sql);
$line = $st->execute([$bid,$_POST['title']]);
if($line != 0){
echo '添加書籍成功';
}search.php文件
這個文件主要處理搜索界面,也就是上面效果圖的界面。首先創(chuàng)建一個redis對象并進行連接,然后獲取地址欄的標簽,然后將標簽轉換為數組,計算出用戶輸入標簽的數量,因為每個標簽都對應redis中的集合,所以給這幾個集合取交集就可以了。
<?php
$redis = new Redis();
$redis->connect('localhost',6379);
$tags = explode(',',trim($_GET['tags'],','));
$len = count($tags);
if($len == 1){
var_dump($redis->sMembers($tags[0]));
}else if($len == 2){
var_dump($redis->sInter($tags[0],$tags[1]));
}else if($len == 3){
var_dump($redis->sInter($tags[0],$tags[1],$tags[2]));
}關于怎么在PHP中使用Redis實現書簽功能問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯行業(yè)資訊頻道了解更多相關知識。
網站標題:怎么在PHP中使用Redis實現書簽功能-創(chuàng)新互聯
鏈接URL:http://www.chinadenli.net/article26/ipscg.html
成都網站建設公司_創(chuàng)新互聯,為您提供微信公眾號、用戶體驗、網站營銷、搜索引擎優(yōu)化、網站制作、軟件開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯