upgrade_pali_sent.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. } else {
  16. $dns = "" . _FILE_DB_PALI_SENTENCE_;
  17. $dbh = new PDO($dns, "", "", array(PDO::ATTR_PERSISTENT => true));
  18. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  19. $query = "SELECT book,paragraph, begin,end ,text FROM pali_sent WHERE 1 ";
  20. $stmt = $dbh->prepare($query);
  21. $stmt->execute();
  22. $redis = new redis();
  23. $r_conn = $redis->connect('127.0.0.1', 6379);
  24. $stringSize = 0;
  25. if ($r_conn) {
  26. while ($sent = $stmt->fetch(PDO::FETCH_ASSOC)) {
  27. $stringSize += strlen($sent["text"]);
  28. if ($stringSize > 50000000) {
  29. sleep(1);
  30. $stringSize = 0;
  31. echo $sent["book"] . "_" . $sent["paragraph"] . "\n";
  32. }
  33. $result = $redis->set('pali_sent_' . $sent["book"] . "_" . $sent["paragraph"] . "_" . $sent["begin"] . "_" . $sent["end"], $sent["text"]);
  34. }
  35. echo "完成";
  36. } else {
  37. echo "连接redis失败";
  38. }
  39. }