Nginx+Lua系列:非阻塞Mysql与Redis客户端

 

ngx_redis2

  • https://github.com/openresty/redis2-nginx-module
  • redis2-nginx-module是一个openresty(1.9.15.1)自带的模块。它能够把请求转发给upstream(redis2_pass)。注意它和lua-resty-redis不同,lua-resty-redis是一个lua语言版的redis API,使用socket(lua sock)和redis通信。而redis2-nginx-module是把请求转发给别的upstream。
  • 实现Nginx中同步非阻塞的方式访问Redis

 

ngx_drizzle

介绍:

  • https://github.com/openresty/drizzle-nginx-module
  • 实现Nginx中同步非阻塞的方式访问Mysql
  • 具备长连接、进程级可控大小的连接池和负载均衡的功能
  • 返回数据可通过ngx_rds_json/csv等模块转换为json/csv格式
  • 在nginx中快速使用示例:
复制代码
http {
...
upstream dbgroup {
 # 连接句柄
 drizzle_server host1:3306 dbname=test password=pass user=alice protocol=mysql;
 #连接池
 drizzle_keepalive max=200 overflow=reject;
}
...
server{
location ~ '^/cat/(.*)' {
       set $name $1;
       set_quote_sql_str $quoted_name $name;
       drizzle_query "select *
           from cats
           where name=$quoted_name";
       drizzle_pass my_mysql_backend;
       rds_json on;
   }
}
}
复制代码

 

posted @   -零  阅读(458)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2019-08-27 Golang Gateway API 搭建教程
2019-08-27 简单聊聊服务发现(redis, zk,etcd, consul)(转载)
点击右上角即可分享
微信分享提示