阅读更多

8顶
0踩

编程语言

原创新闻 MySQLPlus - 非阻塞模式的Ruby MySQL接口

2008-09-04 10:01 by 见习编辑 robbin 评论(7) 有6487人浏览
MySQLPlus是最新发布的一个Ruby的MySQL驱动接口。它和目前普遍使用的MySQL驱动接口最大的区别在于,MySQLPlus支持多线程运行模式和异步运行模式!带来的一个直接的好处就是在多线程环境下,可以极大的提供数据库访问速度:



如上图所示,在标准的MySQL驱动下,完成查询测试需要10秒左右,但是在使用MySQLPlus之后,无论是多线程运行模式,还是事件驱动的异步运行模式下,完成查询测试仅仅需要1秒就足够了。

我们知道,Rails 2.2要改成线程安全模式的了,这意味着,一个Mongrel应用服务器实例可以以类似Java应用服务器那样,多线程运行Rails。然而,由于访问数据库的Ruby的MySQL驱动接口并不支持多线程,因此仍然存在一个巨大的障碍,现在MySQLPlus提供了这种能力!

因此,当我们使用Rails2.2和MySQLPlus,完全可以实现Mongrel应用服务器的多线程运行,这种方式将极大的提高Rails应用的并发响应能力和大负载的承担能力。
8
0
评论 共 7 条 请登录后发表评论
7 楼 kenrome 2008-09-24 17:03
支持,ruby on rails
6 楼 pi1ot 2008-09-05 09:42
异步无非是把客户端的阻塞隐藏起来了,如果客户端也没啥可以并行处理的工作说到底还是在哪里等待被中断唤醒,服务端该做什么还是什么,何来的10s查询1s完成?
5 楼 inosin 2008-09-05 09:33
看上去很美,顺便一问,rails2.2啥时候出?
4 楼 QuakeWang 2008-09-04 19:58
引用
为什么rails不在服务器上下功夫,如果搭配个环境跟PHP一样方便。。。

Apache配合最新出的mod_rails,搭环境也和PHP一样简单,而且性能还不错。
3 楼 klesh 2008-09-04 18:06
php没有app的概念,本身也只是脚本语言。rails是基于ruby脚本上的开发框架,有app的概念,目前出名的开源web server都不支持app域。。。so...
2 楼 shaka 2008-09-04 12:47
不知道其他数据库有没有这功能,比如PG
1 楼 hongkong 2008-09-04 10:50
为什么rails不在服务器上下功夫,如果搭配个环境跟PHP一样方便。。。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 计算机等级考试三级网络技术 电子书

    计算机等级考试三级网络技术 电子书 有兴趣的看看吧

  • 三级linux应用与开发技术_2021年3月全国计算机等级考试三级 应 用与开发技术考试大纲(年版)...

    全国计算机等级考试三级 Linux 应 用与开发技术考试大纲(2021 年版)基本要求1. 掌握操作系统的基本概念、组成、功能和原理。2. 了解 Linux 系统的发展历程、特点、应用现状和前景。3. 掌握常用的 Linux 命令和 shell 脚本编程基本技术。4. 具备 Linux 系统安装、配置、管理与维护的基本技能。5. 熟悉 Linux 系统的常用软件及使用方法。6....

  • 计算机三级Linux知识点

    《全国计算机等级考试三级教程——Linux应用与开发技术》(2021年版)

  • 全国计算机等级考试三级Linux应用与开发技术考试-习题汇总

    目录1.考试说明 1.考试说明 https://blog.csdn.net/qq_42025798/article/details/119155437

  • 计算机三级Linux大纲(2021)

  • rails mysql gem_Ruby,Rails:mysql2 gem,有人使用这个gem吗?它稳定吗?

    mysql gem的第一个问题是它不会在C中执行任何类型转换,它会给你回ruby字符串,然后你必须转换为正确的ruby类型。在纯ruby中这样做是非常慢的,并在堆上创建对象,从来不需要存在在第一位。而且我们都知道,...

  • mysql、mybatis、Redis

    非阻塞IO 单线程避免线程间切换 Jedis < groupId > redis . clients < artifactId > jedis < scope > compile Jedis jedis = new Jedis ( "127.0.0.1" , 6379 ) jedis . set ( "hello" , ...

  • Day12-mysql&&redis

    MySQL-client  - MySQL 客户端程序,用于连接并操作Mysql服务器。 MySQL-devel  - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。 MySQL-shared  - 该软件包包含某些语言...

  • Notes Twenty one days-渗透攻击-红队-权限提升

    如果测试对象有非描述性服务器名称或描述,像BloodHound或ldapdomaindump这样的工具不会有太大帮助,因为SRV00001.company.local仍然没有告诉你在这台服务器上运行的是什么。在大量IP地址上运行EyeWitness等发现工具...

  • 中国大学MOOC翁恺C语言入门期末试题

    字数统计(5分) 题目内容: 你的程序要读入一篇英文文章,然后统计其中的单词数来输出。需要统计的数据为: 1. 总的单词数量; 2. 含有1个字母到10个字母的单词的数量。 单词和单词的间隔是由以下标点符号形成的:空格、tab、回车换行、逗号、句号、问号、括号、双引号和冒号。这些符号不能被计入单词的长度中。 因此,对于下面的句子: "What you see is a v

  • Linux计算机三级试题,全国计算机等级考试三级网络技术历年真题(整理打印版).doc...

    全国计算机等级考试三级网络技术历年真题(整理打印版)PAGEPAGE 12010年3月计算机等级考试三级网络笔试试题一、选择题(每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)IBM-PC的出现掀起了计算机普及的高潮,它是在A)1951年 B)1961年 C)1971年 D)1981...

  • 全国计算机等级考试(三级)Linux-2021年9月考试真题回忆

    全国计算机等级考试(三级)Linux-2021年9月考试真题回忆 综述: 考试分为三部分,第一部分为40道选择题,每题1分共计40分,第二部分为20道填空题,每题2分共计40分,第三部分为应用程序填空题,两道大题,每题有10个填空,每空1分共计20分。 **备注:**题目中加粗基本为确定答案 一、选择题 1、下列哪个Linux内核版本是稳定版( ) A、4.5.24 B、4.6.22 C、3.3.21 D、2.5.32 2、改变bash提示符实际上是改变了( ) A、$HOME B、$PS1 C、$PS2

  • 雅虎公司的c#面试题

    C#试题类型:C#试题 | 试题:55道试题(50道选择题,5道问答题)  注意: 答题过程如果您不提交答案,或者关闭浏览器退出,我们将不再允许您再次答题。谢谢!    试题 选项 Question 1. (单选)在计算机网络中,表征数据传输可靠性的指标是 1. 传输率2. 误码率3. 信息容量4. 频带利用率 Question 2. (单选)以下关于链式存储结构的叙述中哪一条是不正确的? 1.

  • 全国计算机等级考试——三级网络技术复习资料

    百度网盘链接:https://pan.baidu.com/s/1yHztsFjWNs_48QMnbk-bBg 提取码:k4vh 复制这段内容后打开百度网盘手机App,操作更方便哦

  • Java 之父 James Gosling 最新访谈:JIT 很好,但不适合所有语言

    您认为这种模式匹配思想,如何适用于Java、Python、Ruby或其他高级语言?我们真的需要模式匹配吗,或者它是特殊案例的特定用法? James:对于新手来说,我认为编程语言中的“模式匹配”一词会造成误导。当我听到...

  • Nginx#Nginx-Typora笔记

    集群模式20000+ 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为...

  • Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案

    Win11查看安装的Python路径及安装的库 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 Python PEP8 代码规范常见问题及解决方案 Python3操作MySQL8.XX创建表|CRUD基本操作 ...

  • 运用Ruby纤程进行异步I/O:NeverBlock和Revactor

    通过对纤程和非阻塞(或者说异步)I/O这两种方法的组合,可以解决用户空间线程问题或者Ruby 1.9的巨型解释器锁(Giant Interpreter Lock,简称GIL)的问题,这个问题使得Ruby语言线程每次只能有一个是激活的。...

  • 最强前端笔记(没有之一)(^-^)

    不保存退出 :set nu 显示行号 :set nonu 隐藏行号 编辑模式 由编辑模式进入一般模式,按Esc键 一般模式 (一般命令) 由一般模式进入编辑模式 a,i,o, shift+a,shift+i,shift+o键 dd 删除一行(光标所在的那一行) ...

Global site tag (gtag.js) - Google Analytics