MYSQLHandlerSocket插件(四)安装与使用_MySQL
一、安装HandlerSocket-Plugin-for-MySQL
https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL #cd HandlerSocket-Plugin-for-MySQL #sh ./autogen.sh #./configure --with-mysql-source=/home/jfy/soft/Percona-Server-5.5.18-rel23.0 --with-mysql-bindir=/usr/local/mysql/bin --with-mysql-plugindir=/usr/local/mysql/lib/plugin vi /etc/my.cnf [mysqld] plugin-load=handlersocket.so(plugin-load可略过不配) loose_handlersocket_port = 9998 # 指定读请求端口号 # the port number to bind to (for read requests) loose_handlersocket_port_wr = 9999 # 指定写请求端口号 # the port number to bind to (for write requests) loose_handlersocket_threads = 16 # 指定读线程数目 # the number of worker threads (for read requests) loose_handlersocket_threads_wr = 1 # 指定写线程数目 # the number of worker threads (for write requests) open_files_limit = 65535 # to allow handlersocket accept many concurren connections, make open_files_limit as large as possible. handlersocket_timeout = 3600 # 保持连接空间时间,默认一个连接空闲5分钟就会被释放 #mysql.server restart #mysql mysql>show plugins; | handlersocket | ACTIVE | DAEMON | handlersocket.so | BSD | # netstat -an | grep 9998 tcp 0 0 0.0.0.0:9998 0.0.0.0:* LISTEN
二、安装php-ext-handlersocketi
https://github.com/piteer1/php-handlersocket #cd php-handlersocket-master #/usr/local/php/bin/phpize #./configure --with-php-config=/usr/local/php/bin/php-config #make & make install #vi /usr/local/php/lib/php.ini extension=handlersocket.so #php -m handlersocket
三、测试
-- 用户表 drop table IF EXISTS user; create table user ( userid char(8) binary PRIMARY key, username varchar(32) comment '用户昵称', feature char(16) comment '功能', siminfo char(15) comment 'SIM信息IMSI', msisdn char(13) comment '用户手机号码', countyrcode char(3) comment '国家码', zgtflag char(1) comment '中港通标志YN', usertype char(16) comment '用户类型', operatorid char(32) comment '操作工号', createtime TIMESTAMP comment '创建时间', PRIMARY KEY (msisdn), unique index useridx(userid) ); -- 用户帐户表 drop table IF EXISTS useracnt; create table useracnt ( userid char(8) binary PRIMARY key , activetime TIMESTAMP comment '激活时间', amount INT UNSIGNED comment '帐户金额(分)', validdate date comment '有效期', status char(1) comment '帐户状态', nextkfdate date comment '下次扣费时间' );
<?php $host = 'localhost'; $port = 9998; $port_wr = 9999; $dbname = 'voip'; $table1 = 'user'; $table2 = 'useracnt'; try { $hs_read = new HandlerSocket($host, $port); $idx_user_r = $hs_read->createIndex(1, $dbname, $table1, 'PRIMARY', array('userid','zgtflag')); $hs_write = new HandlerSocket($host, $port_wr); $idx_useracnt_w = $hs_write->createIndex(2, $dbname, $table2, 'PRIMARY', 'amount'); } catch (HandlerSocketException $exception) { var_dump($exception->getMessage()); die(); } //GET $retval = $idx_user_r->find('85265101177'); list($userid,$zgtflag) = $retval[0]; echo $userid . "\n"; echo $zgtflag . "\n"; //UPDATE $amount=round(0.95*100); $ret = $idx_useracnt_w->update($userid, array('-?' => $amount)); var_dump($ret); if ( $ret === false) { echo __LINE__, ':', $index->getError(), ':', PHP_EOL; die(); } if ( !is_array($ret) ) { echo "update not found!\n"; die(); } if ( intval($ret[0][0]) < $amount ) { echo "balance is not enough!\n"; die(); } echo "update ok!\n"; unset($index); unset($hs); exit;
12核CPU,Percona MySQL 5.5.18,InnoDB_buffer_size=16G,read/wrige thread各16
经测试,使用handlersocket比直接用sql大概只能提高0.5倍左右,测试数据均在innodb buffer中
以前MySQL5.1时,HandlerSocket性能会有很大优势,MySQL5.5性能有提高,优势不明显

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PyCharm est un environnement de développement intégré (IDE) Python puissant et populaire qui fournit une multitude de fonctions et d'outils afin que les développeurs puissent écrire du code plus efficacement. Le mécanisme de plug-in de PyCharm est un outil puissant pour étendre ses fonctions. En installant différents plug-ins, diverses fonctions et fonctionnalités personnalisées peuvent être ajoutées à PyCharm. Par conséquent, il est crucial pour les débutants de PyCharm de comprendre et de maîtriser l’installation de plug-ins. Cet article vous donnera une introduction détaillée à l'installation complète du plug-in PyCharm.
![Erreur de chargement du plugin dans Illustrator [Corrigé]](https://img.php.cn/upload/article/000/465/014/170831522770626.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Lors du lancement d'Adobe Illustrator, un message d'erreur de chargement du plug-in apparaît-il ? Certains utilisateurs d'Illustrator ont rencontré cette erreur lors de l'ouverture de l'application. Le message est suivi d'une liste de plugins problématiques. Ce message d'erreur indique qu'il y a un problème avec le plug-in installé, mais il peut également être provoqué par d'autres raisons telles qu'un fichier DLL Visual C++ endommagé ou un fichier de préférences endommagé. Si vous rencontrez cette erreur, nous vous guiderons dans cet article pour résoudre le problème, alors continuez à lire ci-dessous. Erreur de chargement du plug-in dans Illustrator Si vous recevez un message d'erreur « Erreur de chargement du plug-in » lorsque vous essayez de lancer Adobe Illustrator, vous pouvez utiliser les éléments suivants : En tant qu'administrateur

Quel est le répertoire d’installation de l’extension du plug-in Chrome ? Dans des circonstances normales, le répertoire d'installation par défaut des extensions de plug-in Chrome est le suivant : 1. L'emplacement du répertoire d'installation par défaut des plug-ins Chrome dans Windows XP : C:\DocumentsandSettings\username\LocalSettings\ApplicationData\Google\Chrome\UserData\ Default\Extensions2. chrome dans Windows7 Emplacement du répertoire d'installation par défaut du plug-in : C:\Users\username\AppData\Local\Google\Chrome\User

Lorsque les utilisateurs utilisent le navigateur Edge, ils peuvent ajouter des plug-ins pour répondre davantage à leurs besoins. Mais lors de l'ajout d'un plug-in, cela indique que ce plug-in n'est pas pris en charge. Comment résoudre ce problème ? Aujourd'hui, l'éditeur partagera avec vous trois solutions. Venez l'essayer. Méthode 1 : essayez d’utiliser un autre navigateur. Méthode 2 : Le Flash Player du navigateur peut être obsolète ou manquant, ce qui rend le plug-in non pris en charge. Vous pouvez télécharger la dernière version sur le site officiel. Méthode 3 : Appuyez simultanément sur les touches « Ctrl+Shift+Delete ». Cliquez sur "Effacer les données" et rouvrez le navigateur.

Comment utiliser les plugins WordPress pour implémenter la fonction de localisation instantanée Avec la popularité des appareils mobiles, de plus en plus de sites Web commencent à fournir des services basés sur la géolocalisation. Dans les sites WordPress, nous pouvons utiliser des plug-ins pour mettre en œuvre des fonctions de positionnement instantané et fournir aux visiteurs des services liés à leur situation géographique. 1. Choisissez le bon plug-in Il existe de nombreux plug-ins proposant des services de géolocalisation dans la bibliothèque de plug-ins WordPress. En fonction des besoins et des exigences, choisir le bon plug-in est la clé pour obtenir une fonctionnalité de positionnement instantané. En voici quelques-uns

Comment ajouter les fonctions du programme WeChat Mini aux plugins WordPress Avec la popularité et la popularité des mini-programmes WeChat, de plus en plus de sites Web et d'applications commencent à envisager de les intégrer aux mini-programmes WeChat. Pour les sites Web qui utilisent WordPress comme système de gestion de contenu, l’ajout de la fonction applet WeChat peut offrir aux utilisateurs une expérience d’accès plus pratique et des choix plus fonctionnels. Cet article explique comment ajouter la fonctionnalité du mini-programme WeChat au plug-in WordPress. Étape 1 : Enregistrez un compte mini-programme WeChat. Tout d’abord, vous devez ouvrir l’application WeChat.

PyCharm Community Edition prend-il en charge suffisamment de plugins ? Besoin d'exemples de code spécifiques Alors que le langage Python devient de plus en plus largement utilisé dans le domaine du développement logiciel, PyCharm, en tant qu'environnement de développement intégré (IDE) Python professionnel, est favorisé par les développeurs. PyCharm est divisé en deux versions : la version professionnelle et la version communautaire. La version communautaire est fournie gratuitement, mais sa prise en charge des plug-ins est limitée par rapport à la version professionnelle. La question est donc la suivante : PyCharm Community Edition prend-il en charge suffisamment de plug-ins ? Cet article utilisera des exemples de code spécifiques pour

Comment utiliser le plug-in WordPress pour implémenter la fonction de lecture vidéo 1. Introduction L'application de vidéo sur des sites Web et des blogs devient de plus en plus courante. Afin de fournir une expérience utilisateur de haute qualité, nous pouvons utiliser des plug-ins WordPress pour implémenter des fonctions de lecture vidéo. Cet article expliquera comment utiliser les plugins WordPress pour implémenter des fonctions de lecture vidéo et fournira des exemples de code. 2. Choisissez les plug-ins WordPress propose de nombreux plug-ins de lecture vidéo. Lors du choix d'un plug-in, nous devons prendre en compte les aspects suivants : Compatibilité : assurez-vous que le plug-in
