upgrade_pali_sent.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /*
  3. get user sentence from db
  4. */
  5. require_once "../path.php";
  6. require_once "../public/_pdo.php";
  7. require_once "../public/function.php";
  8. if(isset($argv[1])){
  9. if($argv[1]=="del"){
  10. $redis = new redis();
  11. $r_conn = $redis->connect('127.0.0.1', 6379);
  12. $keys = 'pali_sent_*';
  13. $redis->delete($redis->keys($keys));
  14. }
  15. }
  16. else{
  17. $dns = "sqlite:"._FILE_DB_PALI_SENTENCE_;
  18. $dbh = new PDO($dns, "", "",array(PDO::ATTR_PERSISTENT=>true));
  19. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  20. $query="SELECT book,paragraph, begin,end ,text FROM pali_sent WHERE 1 ";
  21. $stmt = $dbh->prepare($query);
  22. $stmt->execute();
  23. $redis = new redis();
  24. $r_conn = $redis->connect('127.0.0.1', 6379);
  25. $stringSize = 0;
  26. if($r_conn){
  27. while($sent = $stmt->fetch(PDO::FETCH_ASSOC)){
  28. $stringSize += strlen($sent["text"]);
  29. if($stringSize>50000000){
  30. sleep(1);
  31. $stringSize=0;
  32. echo $sent["book"]."_".$sent["paragraph"]."\n";
  33. }
  34. $result = $redis->set('pali_sent_'.$sent["book"]."_".$sent["paragraph"]."_".$sent["begin"]."_".$sent["end"],$sent["text"]);
  35. }
  36. echo "完成";
  37. }
  38. else{
  39. echo "连接redis失败";
  40. }
  41. }
  42. ?>