redis_refresh_first_mean.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. require_once "../path.php";
  3. require_once '../public/_pdo.php';
  4. require_once "../redis/function.php";
  5. if (PHP_SAPI == "cli") {
  6. $redis = redis_connect();
  7. if($redis!==false){
  8. PDO_Connect(_FILE_DB_REF_, _DB_USERNAME_, _DB_PASSWORD_);
  9. $query = "SELECT language as lang from " . _TABLE_DICT_REF_ . " where 1 group by language";
  10. $Fetch = PDO_FetchAll($query);
  11. if(count($Fetch)>0){
  12. foreach ($Fetch as $key => $value) {
  13. # 获取字典中所有的语言
  14. if(!empty($value["lang"])){
  15. $languages[] = $value["lang"];
  16. }
  17. }
  18. print_r($languages);
  19. foreach ($languages as $thisLang) {
  20. # code...
  21. echo "runing $thisLang \n";
  22. $query = "SELECT word,mean from " . _TABLE_DICT_REF_ . " where language = ? group by word";
  23. $stmt = $PDO->prepare($query);
  24. $stmt->execute(array($thisLang));
  25. while($meaning=$stmt->fetch(PDO::FETCH_ASSOC)){
  26. $redis->hSet("ref_first_mean://".$thisLang,$meaning["word"],$meaning["mean"]);
  27. }
  28. echo $thisLang.":".$redis->hLen("ref_first_mean://".$thisLang)."\n";
  29. }
  30. $query = "SELECT word,mean from " . _TABLE_DICT_REF_ . " where 1 group by word";
  31. $stmt = $PDO->prepare($query);
  32. $stmt->execute();
  33. while($meaning=$stmt->fetch(PDO::FETCH_ASSOC)){
  34. $redis->hSet("ref_first_mean://com",$meaning["word"],$meaning["mean"]);
  35. }
  36. echo "com:".$redis->hLen("ref_first_mean://com")."\n";
  37. }
  38. }
  39. else{
  40. echo "no redis server";
  41. }
  42. }
  43. ?>