Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. lua_package_path "/path/to/lua-resty-mysql/lib/?.lua;;";
  2.  
  3. server {
  4. location /ssi {
  5. content_by_lua '
  6. local mysql = require "resty.mysql"
  7. local db, err = mysql:new()
  8. if not db then
  9. ngx.say("failed to instantiate mysql: ", err)
  10. return
  11. end
  12. db:set_timeout(1000) -- 1 sec
  13. local ok, err, errcode, sqlstate = db:connect{
  14. path = "/path/to/mysql.sock",
  15. database = "ngx_test",
  16. user = "ngx_test",
  17. password = "ngx_test"}
  18. if not ok then
  19. ngx.say("failed to connect: ", err, ": ", errcode, " ", sqlstate)
  20. return
  21. end
  22. ngx.say("connected to mysql.")
  23. local res, err, errcode, sqlstate = db:query("select * from cats order by id asc", 10)
  24. if not res then
  25. ngx.say("bad result: ", err, ": ", errcode, ": ", sqlstate, ".")
  26. return
  27. end
  28. ';
  29. }
  30. }
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37. const COUNTERS = likes, dislikes, visits, comments
  38.  
  39.  
  40. local mysql = require "resty.mysql"
  41. local db, err = mysql:new()
  42. if not db then
  43. ngx.log(ngx.ERR, "failed to instantiate mysql: ", err)
  44. return
  45. end
  46.  
  47. local ok, err, errno, sqlstate = db:connect{
  48. host = "127.0.0.1",
  49. port = 3306,
  50. database = "lua",
  51. user = "lua",
  52. password = "lua",
  53. max_packet_size = 1024 * 1024
  54. }
  55. if not ok then
  56. ngx.log(ngx.ERR, "failed to connect: ", err, ": ", errno, ": ", sqlstate)
  57. return
  58. end
  59.  
  60. if index then
  61. --
  62. end
  63.  
  64. res, err, errno, sqlstate =
  65. db:query("UPDATE post SET visits = visits + 1 WHERE id = ???")
  66. if not res then
  67. ngx.log(ngx.ERR, "bad result: ", err, ": ", errno, ": ", sqlstate)
  68. return
  69. end
  70.  
  71.  
  72. if not кеш?? then
  73. res, err, errno, sqlstate =
  74. db:query("SELECT COUNTERS FROM post WHERE id = 1")
  75. if not res then
  76. ngx.log(ngx.ERR, "bad result: ", err, ": ", errno, ": ", sqlstate, ".")
  77. return
  78. end
  79. В мемкеш!
  80. end
  81.  
  82. ngx.say("counter: " .. res[1]["value"])
  83.  
  84. local ok, err = db:set_keepalive(10000, 100)
  85. if not ok then
  86. ngx.log(ngx.ERR, "failed to set keepalive: ", err)
  87. return
  88. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement