关于一个数据库连接问题,我启动多个线程执行同一条查询语句,会报"Too many connections"

在spring配置文件初始化连接是10条,不考虑增大mysql.ini的max_connections的连接数!目前的方法是:把第一次访问查询的表,缓存起来!后面的查询语... 在spring配置文件初始化连接是10条,不考虑增大mysql.ini的max_connections 的连接数!
目前的方法是:把第一次访问查询的表,缓存起来!后面的查询语句和修改语句都是不同表里面的,我再启动多线程测试,到查询语句和修改语句执行完毕,还是10条连接,也没有出现"Too many connections",谁能给我解释下么?或者有别的更好方法
我这个是为了解决并发的情况!我想知道为什么,建立缓存后,其他的sql语句为什么不建立连接了?
展开
 我来答
lanniao007
2012-03-20 · TA获得超过1012个赞
知道小有建树答主
回答量:1489
采纳率:40%
帮助的人:448万
展开全部
一般这种是因为超出数据库最大链接上限。再建立链接,不管缓存多少,会自动队列消息等待。Timeout时间内没有链接取消无法获得链接权限。可以将自己的数据库链接个数设置大一些。
更多追问追答
追问
我上面说的:正因为第一次访问用了缓存,后面的更新操作才没出现连接过多!我想知道这是为什么?
追答
这就跟你去医院排队就医。加入有人可以让你插队的位置。你就能提前进去。没有的话,你就从最后开始排。排队过程网络也在不听的刷新各个连接。你有缓存相对就不容易丢失队列。没缓存反而容易丢失队列需要再次发出请求。服务器才能响应。
百度网友8927dbe5b
2012-03-19 · TA获得超过448个赞
知道小有建树答主
回答量:1011
采纳率:100%
帮助的人:286万
展开全部
你没有用Hibernate吗,他和Spring是天衣无缝的组合。
在连接数据上非常方便的。
追问
公司用的框架是ibaties
追答
大同小异,HIbernate和ibaties都是数据库持久化操作的框架。
不是吗???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wzq619732921
2012-03-19 · 贡献了超过107个回答
知道答主
回答量:107
采纳率:0%
帮助的人:26.8万
展开全部
爱莫能助啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
angelsun0909
2012-03-19
知道答主
回答量:21
采纳率:0%
帮助的人:10.6万
展开全部
程序里是不是已经关闭连接了
更多追问追答
追问
释放了,我这个是为了解决并发的情况
追答
已经释放了,连接也就断开了,就不会出现"Too many connections",除非你同一时间运行的线程中的正在使用的连接数大于你的最大连接数了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式