openresty筆記-訪問memcache和mysql

來源:互聯網
上載者:User
worker_processes  1;                                                                                                                         error_log logs/error.log;events {    worker_connections 1024;}http {    server {        listen 8080;        location /hello_world {            default_type text/html;            content_by_lua '                ngx.say("

hello, world

") '; } location /memcache_test {default_type text/plain;content_by_lua '--argslocal args = ngx.req.get_uri_args()if (args["key"] == nil) thenreturnend--newlocal memcached = require "resty.memcached"local memc , err = memcached:new()if not memc then ngx.say("faild to init memc:" , err)returnendmemc:set_timeout(1000)--connectlocal ok , err = memc:connect("127.0.0.1" , 11211)if not ok then ngx.say("faild to connect:" , err)returnend--getlocal res , flags , err = memc:get(args["key"])if err thenngx.say("faild to get: " , err)returnendif res thenngx.say("get key [" .. args["key"] .. "] " .. "[" .. res .. "]")elsengx.say("not get key [" .. args["key"] .. "]")end--setlocal ok , err = memc:set(args["key"] , args["key"])if ok thenngx.say("set ok")end'; }location /mysql_test{default_type text/plain;content_by_lua 'local mysql = require "resty.mysql"--newlocal db , err = mysql:new()if not db then ngx.say("faild to init mysql: " , err)returnenddb:set_timeout(1000)--connectlocal ok , err , errno , sqlstate = db:connect{host = "127.0.0.1",port = 3306,database = "test",user = "root",password = "123456",max_packet_size = 1024 * 1024}if not ok thenngx.say("failed to connect to mysql : ", err, ": ", errno, " ", sqlstate)returnendngx.say("connected to mysql")--create tablelocal sql = [[create table if not exists `test`(`id` int(11) primary key not null auto_increment,`name` varchar(100) not null default \'\') engine=Innodb default charset=utf8]]local res , err , errno , sqlstate = db:query(sql)if not res thenngx.say("create table error: ", err, ": ", errno, ": ", sqlstate, ".")returnend--insertsql = "insert into `test` (`name`) values (\'fish\')"local res , err , errno , sqlstate = db:query(sql)if not res thenngx.say("insert error: ", err, ": ", errno, ": ", sqlstate, ".")returnend--selectsql = "select * from `test`"local res , err , errno , sqlstate = db:query(sql)if not res thenngx.say("select error: ", err, ": ", errno, ": ", sqlstate, ".")returnendlocal cjson = require "cjson"ngx.say(cjson.encode(res))--deletesql = "delete from `test`"local res , err , errno , sqlstate = db:query(sql)if not res thenngx.say("delete error: ", err, ": ", errno, ": ", sqlstate, ".")returnend';} }}

以上就介紹了openresty筆記-訪問memcache和mysql,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.