redis_refresh_first_mean.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. require_once __DIR__."/../config.php";
  3. require_once __DIR__.'/../public/_pdo.php';
  4. require_once __DIR__."/../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. fwrite(STDOUT, "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. fwrite(STDOUT, $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. fwrite(STDOUT, "com:".$redis->hLen("ref_first_mean://com")."\n");
  37. }
  38. }
  39. else{
  40. fwrite(STDERR, "no redis server");
  41. }
  42. }
  43. ?>