MySQL连接池
1.
using System;
using System.Collections;
using MySql.Data.MySqlClient; namespace Helper
{
/// <summary>
/// MySQL连接池
/// </summary>
public static class MySQLConnPool
{
//private static string connStr = "server=localhost;User ID=root;Password=qwer1234;database=test;";//连接字符串
private static ArrayList poolLs = new ArrayList();//连接池
private static int max = ;//连接池最大数量 /// <summary>
/// 获取连接对象
/// </summary>
/// <param name="connStr">数据库连接字符串</param>
/// <returns></returns>
public static MySqlConnection GetConn(string connStr)
{
lock (poolLs)
{
MySqlConnection retConn = null;//超出线程池大小限制时返回null
if (poolLs.Count > )
{
retConn = (MySqlConnection)poolLs[];//获取池中第一个
poolLs.RemoveAt();//从池中移除
}
else
{
retConn = new MySqlConnection(connStr);//连接池中没有连接,创建一个
retConn.Open();
}
return retConn;
}
} /// <summary>
/// 关闭连接或添加到连接池
/// </summary>
/// <param name="conn"></param>
public static void Close(MySqlConnection conn)
{
lock (poolLs)
{
if (poolLs.Count < max)//连接池只保留最大数量的连接
{
poolLs.Add(conn);//连接池数量小于限制,将连接添加到连接池
}
else
{
conn.Close();//线程池超出数量限制,关闭连接
}
}
}
}
}
连接池代码
2.
using System;
using System.Web.Mvc;
using System.Data;
using MySql.Data.MySqlClient;
using Helper; namespace MVC4.Controllers
{
public class testController : Controller
{
private static string connStr = "server=localhost;User ID=root;Password=12345678;database=test;";
public ActionResult Index()
{
MySqlConnection conn = MySQLConnPool.GetConn(connStr);
MySqlCommand cmd = new MySqlCommand("Select * from us_BaseInfo", conn);
MySqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
}
dr.Close();//关闭MySqlDataReader
MySQLConnPool.Close(conn);
return View();
}
}
}
连接池使用
MySQL连接池的更多相关文章
- 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。
解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题. (默认MySQL连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池. 所以系统发布第二天访问会 ...
- Java Mysql连接池配置和案例分析--超时异常和处理
前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...
- tomcat中使用mysql连接池的配置
1.下载相应的jar包,添加到工程中 需要下载的包主要有commons-pool2-2.2 commons-dbcp2-2.0.1-src commons-dbcp2-2.0.1 commons-c ...
- mysql连接池的使用工具类代码示例
mysql连接池代码工具示例(scala): import java.sql.{Connection,PreparedStatement,ResultSet} import org.apache.co ...
- 用swoole简单实现MySQL连接池
MySQL连接池 在传统的网站开发中,比如LNMP模式,由Nginx的master进程接收请求然后分给多个worker进程,每个worker进程再链接php-fpm的master进程,php-fpm再 ...
- 实现一个协程版mysql连接池
实现一个协程版的mysql连接池,该连接池支持自动创建最小连接数,自动检测mysql健康:基于swoole的chanel. 最近事情忙,心态也有点不积极.技术倒是没有落下,只是越来越不想写博客了.想到 ...
- mysql连接池模块
如果不想程序在查询数据时卡死或等待过长时间,一般不推荐在node中开启一个连接后全部查询都用这个链接并且不关闭.因为node里面的mysql不像php里的那样会在完成查询后断开,只要不主动断开,连接一 ...
- python中实现mysql连接池
python中实现mysql连接池 import pymysql from DBUtils.PooledDB import PooledDB MYSQL_HOST = 'localhost' USER ...
- workerman如何写mysql连接池
首先要了解为什么用连接池,连接池能为你解决什么问题 连接池主要的作用1.减少与数据服务器建立TCP连接三次握手及连接关闭四次挥手的开销,从而降低客户端和mysql服务端的负载,缩短请求响应时间2.减少 ...
随机推荐
- 使用pl/sql監控PROCEDURE執行時間
創建表 CREATE TABLE PROCESS_TIMING_LOG ( PROCESS_NAME VARCHAR2(50 BYTE), EXECUTION_DATE D ...
- android 入门-R文件的死与活
1.图片的名字Btn_Play R文件死了. 1.答:修改图片的名字btn_play R文件活了.
- WPF 实现带标题的TextBox
这篇博客将分享在WPF中如何创建一个带Title的TextBox.首先请看一下最终的效果, 实现思路:使用TextBlock+TextBox来实现,TextBlock用来显示Title. 实现代码, ...
- C结构体中数据的内存对齐问题
转自:http://www.cnblogs.com/qwcbeyond/archive/2012/05/08/2490897.html 32位机一般默认4字节对齐(32位机机器字长4字节),64位机一 ...
- 不通过App Store实现ios应用分发下载安装
最近公司的项目准备着手宣传工作了,宣传手册上要印制App的下载地址二维码,但是客户端应用还未上线,需要一种临时的方案解决应用分发下载问题,通常ios应用必须通过苹果应用商店才能下载安装,但是也可以看到 ...
- LOAD和PigStorage的一些测试例子 (转)
原地址:http://f.dataguru.cn/thread-233064-1-1.htm 因为理解上的错误,在这里被搞糊涂了.通过做测试,应该算是澄清了,所以写出来. 假设有个文件叫test,该文 ...
- centos7安装redis3.2.5
安装redis 1官方介绍 Installation Download, extract and compile Redis with: $ wget http://download.redis.io ...
- session应用----登录验证小案例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 【MongoDB】2.可视化工具的安装和使用
首先:关于 能支持MongoDB新版本的可视化工具,争议不断,各人都有各人的支持. 因此之前选择安装的时候就安装了MongoDB 3.0.14版本的. 最终,确定使用Robomongo作为我第一个 ...
- Web Service \restful web services\WCF Service\ServiceStack
http://www.cnblogs.com/jfzhu/p/4025448.html http://www.cnblogs.com/jfzhu/p/4022139.html#3043243