queries.rb 688 B

12345678910111213141516171819202122232425262728
  1. r = Nginx::Request.new
  2. num_queries = r.var.arg_queries.to_i
  3. num_queries = 1 if num_queries < 0
  4. num_queries = 500 if num_queries > 500
  5. # https://github.com/mattn/mruby-mysql/blob/master/example/example.rb
  6. class World
  7. def db
  8. @db ||= Userdata.new("my_#{Process.pid}").db
  9. end
  10. def find(id)
  11. ret = nil
  12. db.execute("select * from World where id = ?", id) do |row, fields|
  13. ret = Hash[fields.zip(row)]
  14. end
  15. ret
  16. end
  17. def save(world)
  18. db.execute("update World set randomNumber = ? where id = ?", world["randomNumber"], world["randomNumber"])
  19. end
  20. end
  21. world = World.new
  22. ret = num_queries.times.map { world.find(rand(10000)) }
  23. Nginx.rputs JSON::stringify(ret)