Explorar el Código

palicanon 进度 全面改用redis

visuddhinanda hace 5 años
padre
commit
a7f6e98e5d
Se han modificado 2 ficheros con 53 adiciones y 10 borrados
  1. 27 5
      app/palicanon/book_tag.php
  2. 26 5
      app/palicanon/get_chapter_info.php

+ 27 - 5
app/palicanon/book_tag.php

@@ -1,6 +1,13 @@
 <?php
 require_once '../path.php';
 
+try {
+	$redis = new redis();  
+	$r_conn = $redis->connect('127.0.0.1', 6379);
+} catch (Exception $e) {
+	$r_conn = false;
+}
+
 $tag =  str_getcsv($_GET["tag"],",");//
 $arrBookTag=json_decode(file_get_contents("../public/book_tag/en.json"),true);
 $countTag = count($tag);
@@ -46,11 +53,26 @@ foreach ($output as $key => $value) {
 
 		if($paraInfo){	
 			# 查进度
-			$query = "SELECT lang, all_trans from progress_chapter where book=? and para=?";
-			$stmt = $dbh_toc->prepare($query);
-			$sth_toc = $dbh_toc->prepare($query);
-			$sth_toc->execute(array($book,$para));
-			$paraProgress = $sth_toc->fetch(PDO::FETCH_ASSOC);
+			$paraProgress = false;
+			if($r_conn){
+				$count = $redis->hLen("progress_chapter_{$book}_{$para}");
+				if($count>0){
+					$prog = $redis->hGetAll("progress_chapter_{$book}_{$para}");
+					foreach ($prog as $keylang => $valuetrans) {
+						# code...
+						$paraProgress = array("lang"=>$keylang,"all_trans"=>$valuetrans);
+						break;
+					}
+				}
+			}
+			else{
+				$query = "SELECT lang, all_trans from progress_chapter where book=? and para=?";
+				$stmt = $dbh_toc->prepare($query);
+				$sth_toc = $dbh_toc->prepare($query);
+				$sth_toc->execute(array($book,$para));
+				$paraProgress = $sth_toc->fetch(PDO::FETCH_ASSOC);				
+			}
+
 			$output[$key]["progress"]=$paraProgress;
 		
 			#查标题

+ 26 - 5
app/palicanon/get_chapter_info.php

@@ -1,6 +1,13 @@
 <?php
 require_once '../path.php';
 
+try {
+	$redis = new redis();  
+	$r_conn = $redis->connect('127.0.0.1', 6379);
+} catch (Exception $e) {
+	$r_conn=false;
+}
+
 $dns = "sqlite:"._FILE_DB_PALI_TOC_;
 $dbh_toc = new PDO($dns, "", "",array(PDO::ATTR_PERSISTENT=>true));
 $dbh_toc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);  
@@ -26,11 +33,25 @@ $stmt->execute(array($book,$para));
 $paraInfo = $stmt->fetch(PDO::FETCH_ASSOC);
 if($paraInfo){	
 	# 查进度
-	$query = "SELECT lang, all_trans from progress_chapter where book=? and para=?";
-	$stmt = $dbh_toc->prepare($query);
-	$sth_toc = $dbh_toc->prepare($query);
-	$sth_toc->execute(array($book,$para));
-	$paraProgress = $sth_toc->fetchAll(PDO::FETCH_ASSOC);
+	$paraProgress = array();
+	if($r_conn){
+		$count = $redis->hLen("progress_chapter_{$book}_{$para}");
+		if($count>0){
+			$prog = $redis->hGetAll("progress_chapter_{$book}_{$para}");
+			foreach ($prog as $keylang => $valuetrans) {
+				# code...
+				$paraProgress[] = array("lang"=>$keylang,"all_trans"=>$valuetrans);
+			}
+		}
+
+	}
+	else{
+		$query = "SELECT lang, all_trans from progress_chapter where book=? and para=?";
+		$stmt = $dbh_toc->prepare($query);
+		$sth_toc = $dbh_toc->prepare($query);
+		$sth_toc->execute(array($book,$para));
+		$paraProgress = $sth_toc->fetchAll(PDO::FETCH_ASSOC);	
+	}
 	$paraInfo["progress"]=$paraProgress;
 
 	#查标题