龙岩企业网站建设制作自己如何在家做网站

pingmian/2026/1/27 7:03:03/文章来源:
龙岩企业网站建设制作,自己如何在家做网站,八方资源网做网站优化怎么样,网络营销方式对比及分析介绍 在实际项目中#xff0c;MySQL数据库服务器有时会位于另外一台主机#xff0c;需要通过网络来访问数据库#xff1b;即使应用程序与MySQL数据库在同一个主机中#xff0c;访问MySQL也涉及到磁盘IO操作#xff08;MySQL也有一些数据预读技术#xff0c;能够减少磁盘I…介绍 在实际项目中MySQL数据库服务器有时会位于另外一台主机需要通过网络来访问数据库即使应用程序与MySQL数据库在同一个主机中访问MySQL也涉及到磁盘IO操作MySQL也有一些数据预读技术能够减少磁盘IO读写此部分后续继续研究总之直接从MySQL中读取数据不如直接从内存中读取数据来的效率高。为了提高数据库访问效率人们采用了各种各样的方法其中方法之一就是使用一个给予内存的缓存系统放置在数据库和应用程序之间。在查找数据的时候首先从内存中查找如果找到则使用如果没有找到那么再真正访问数据库。这种方法在一些场景下例如频繁查找相同数据能够提高系统的整体效率。 本文的主要目的即介绍上文说的这样一种方法采用redis nosql数据库作为Mysql数据库的缓存在查找的时候首先查找redis缓存如果找到则返回结果如果在redis中没有找到那么查找Mysql数据库找到的花则返回结果并且更新redis如果没有找到则返回空。对于写入的情况直接写入mysql数据库mysql数据库通过触发器及UDF机制自动把变更的内容更新到redis中。 框图   读取步骤 client读取redis,如果命中返回结果如果没有命中转到2.client读取数据库在数据库中没有查到返回空在数据库中查到了返回查到的结果并更新Redis。 写入步骤client修改/删除或者新增数据到MySQL。MySQL的触发器调用用户自定义的UDF。UDF把修改/删除或者新增的数据更新到redis中。 代码实现 软件需求 redis server与client安装redis编程相关的c库。 mysql server安装mysql-devel包的安装此包包含操作mysql数据库的C语言API包。 实现步骤 6. 安装并验证redis 127.0.0.1:6379 hgetall w3ckey (empty list or set) #最开始在reids中没有w3ckey的K-V对。 127.0.0.1:6379安装MySQL数据库服务器 2.1 创建MySQL数据库的脚本如下 drop database if exists mysqlRedis; create database mysqlRedis; use mysqlRedis;create table test1(id INT NOT NULL AUTO_INCREMENT,name VARCHAR(64),age INT,description VARCHAR(1000),primary key(id));2.2 创建UDF使用的动态库 #include stdio.h #include stdlib.h #include mysql.h #include string.h #include hiredis/hiredis.hint gxupdate(UDF_INIT * initid, UDF_ARGS * args, char * is_null, char * error) {redisContext * c redisConnect(127.0.0.1, 6379);if(c-err) {redisFree(c);return 1;}/*//如果设有密码为ubunturedisReply *reply;char strReply[] AUTH ubuntu;reply (redisReply*)redisCommand(c, strReply);freeReplyObject(reply);reply NULL;*/const char * command1 HMSET w3ckey id %d name %s age %d description %s;redisReply * r (redisReply *)redisCommand(c, command1,*(int*)args-args[0], args-args[1], *(int *)args-args[2], args-args[3]);if (r NULL) {return 1;}if (!((r-type REDIS_REPLY_STATUS) (strcasecmp(r-str, OK) 0))) {freeReplyObject(r);redisFree(c);return 1;}freeReplyObject(r);return 0; }my_bool gxupdate_init(UDF_INIT * initid, UDF_ARGS * args, char * message) {return 0; }编译为动态库 gcc -shared -fPIC -I /usr/include/mysql -o udfredis.so mysqlUDFdemo.c /usr/local/lib/libhiredis.a 编译完成之后拷贝动态库udfgx.so到 /usr/lib/mysql/plugin/文件夹中并修改成用户对应权限。 2.3 配置udf与trigger。 use mysqlRedis;drop function if exists gxupdate; create function gxupdate returns INTEGER soname udfredis.so;drop trigger if exists insert_redis; drop trigger if exists update_redis; drop trigger if exists delete_redis;delimiter |create trigger insert_redisafter insert on test1for each rowbegindeclare ret int;select gxupdate(NEW.id, NEW.name, NEW.age, NEW.description) into ret; #必须加into ret否则返回错误ERROR 1415 (0A000) #at line 6: Not allowed to return a result set from a trigger #insert只有NEW变量。 #update有NEW和OLD变量。 #delete只有OLD变量。 end|create trigger update_redisafter update on test1for each rowbegindeclare ret int;select gxupdate(NEW.id, NEW.name, NEW.age, NEW.description) into ret;end|create trigger delete_redisafter delete on test1for each rowbegindeclare ret int;select gxupdate(OLD.id, OLD.name, OLD.age, OLD.description) into ret;end|delimiter ;注意在MySQL中创建UDF的时候insert, update和delete不能写成一个触发器只能分别定义成三个触发器。 测试 查看redis [rootVM_24_16_centos mysql_redis]# redis-cli 127.0.0.1:6379 hgetall w3ckey (empty list or set) 127.0.0.1:6379 redis中无key w3ckey 对应的value。 insert MySQL mysql insert into test1 (name, age, description) values (ggglwlop, 23, ddddgdg); Query OK, 1 row affected (0.02 sec)mysql 插入mysql。 查看redis 127.0.0.1:6379 hgetall w3ckey 1) name 2) ggglwlop 3) description 4) ddddgdg 5) likes 6) 27 7) visitors 8) 23 127.0.0.1:6379 MySQL中有了对应的数据说明mysql通过trigerudf的方式把改动更新到了redis中。 有用的链接 http://blog.csdn.net/socho/article/details/52292064 https://www.cnblogs.com/linuxbug/p/4950626.html https://www.cnblogs.com/tommy-huang/p/4703514.html 使用redis作为mysql缓存时的redis结构设计。 http://blog.csdn.net/shikaiwencn/article/details/51792059 需要根据实际需求来灵活设计redis kv关系。 https://www.cnblogs.com/bruceleeliya/archive/2009/05/23/Linux-C-Mysql.html 使用mysql的C API访问mysql。 https://www.2cto.com/database/201110/108925.html #mysql udf。 https://www.cnblogs.com/linuxbug/p/4950626.html #udf使用的一个例子。 https://www.jianshu.com/p/4381a38403a1 http://blog.csdn.net/socho/article/details/52292064

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

泰州专业网站建设制作西宁哪家公司做网站

转载于:https://www.cnblogs.com/BrightMoon/p/4479375.html

响应式网站如何设计h5响应式 wordpress

目录 1. 什么是零拷贝2. 传统的IO执行流程3. 零拷贝相关知识3-1. 内核空间和用户空间3-2. 什么是用户态、内核态3-3. 什么是上下文切换3-4. 虚拟内存3-5. DMA技术 4. 零拷贝实现的几种方式4-1. mmapwrite实现的零拷贝4-2. sendfile实现的零拷贝4-3. sendfileDMA scatter/gather…

江津做电子商务网站织梦移动网站模板

起因是公司的crm录入不规范,有重复数据。 之后考虑到需要手动处理,首先需要自动找出重复的数据 查重要求: 存在多个不允许重复的字段,任一字段重复,则判断为同一个客户。划分到同一重复组中。 查重sql如下 SELECT CONCAT(组, dense_rank() OVER (ORDER BY group_key)) …

wordpress二次开发seo推广网站

[申明]转载请保留原作网站:[url]http://www.sjhf.net[/url] 关键字[LINUX误删除数据恢复][摘要]国家认证认可监督管理委员会,用于正常工作的一个重要ORACLE数据库,存储于LINUX EXT3文件系统之上。一次,管理员在建立测试库时选错了…

网站国际互联网备案号用nas做网站

6月11日,山东省教育厅举行2021年第一次高考新闻发布会,介绍2021年高考基本情况、评卷安排、成绩公布等相关工作。山东省教育招生考试院新闻发言人、普招处处长李春光介绍,根据近期国家有关工作要求和强基计划招生工作需要,原定于6…

烟台哪里做网站学风建设网站

好的,我在select字段上有一个onchange事件。它现在很棒。当下拉“网络”更改时,它会刷新第二个下拉列表。我还希望顶部的ajax代码在页面加载和onchange上触发,以便填充第二个列表。这是因为它在编辑页面上。这是使用第一个的ajax调用function…

合肥网站建设制作价格手机网站首页经典案例

1.注意点: 该题递推公式为斐波那契数列,而n达到50,是非常大的数 , 故应用循环代替递归,同时记录数据 同时用long long数组储存 ​​ 2.注意点:初始化起点,切忌重新递归找数 可以直接初始化所…

专业仿站网站建设爱佳倍 北京网站

1> 自行封装一个栈的类,包含私有成员属性:栈的数组、记录栈顶的变量 成员函数完成:构造函数、析构函数、拷贝构造函数、入栈、出栈、清空栈、判空、判满、获取栈顶元素、求栈的大小 2> 自行封装一个循环顺序队列的类,包含…

做电影网站如何推广方案WordPress网站属于什么网站

“/CommonHelpServices”应用程序中的server错误。ServiceHost 仅支持类服务类型。说明: 运行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的具体信息。异常具体信息: System.ArgumentException…

成都武侯区建设厅官方网站中国建设银行网站个人客户官网

0 工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1 抓包分析 1.1 报文总览 本文设置从站1的对象字典,设置对象字典主索引为0x2000,子索引为0x00,设置值为1500。主站通过发送SDO写报文…

宜春建设局网站施工企业的安全生产责任制度

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 JavaScript简介&引入方式 简介&#xf…

设计一个完整的静态网站wordpress 小工具 开发

一、钢筋机械连接介绍1、钢筋机械连接在连接区段内接头率的规定(35d):★接头宜设置在结构构件中受拉应力较小的部位,当需要在高应力部位设置时,在同一连接区段内Ⅲ接头的接头率不应大于25%,Ⅱ接头率不应大于50%,Ⅰ接头…

微商城网站建设怎么样c2c网站建设实例

一.流量控制 1.1 较高的发送速度和较低的接收能力的不匹配,因此流量控制也是数据链路层的一项重要工作。 1.2 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。 1.3 数据链路层流量控制手段:接收方收不下就不回复确认。 传…

网站开发报价表的文档软件开发工程师证书含金量

一、简介 它的官网为:https://ffmpeg.org/,由Fabrice Bellard(法国著名程序员Born in 1972)于2000年发起创建的开源项目。该人是个牛人,在很多领域都有很大的贡献。 FFmpeg是多媒体领域的万能工具。只要涉及音视频领…

大连市城乡建设厅网站搜索引擎推广的费用

dev代表开发版 1. git clone 命令 通过 git add <name> 对文件进行跟踪&#xff0c;把<name>加入到暂存区 git commit -m XXXXXXX 提交修改并补充XXXXX作为注释 “暂存”状态&#xff1a;出现了一些修改&#xff0c;但是还没有提交 对于Java来说&#xff0c;.cl…

u nas 建设网站超市设计网站

一、考情分析 二、考点精讲 2.1嵌入式系统概述 2.1.1基本概念 (1)嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁剪的软、硬件集成于一体的专用计算机系统&#xff0c;需要满足应用对功能、可靠性、成本、体积和功耗等方面的严格要求。 (2)从计算机角度看,嵌…

网站建设的项目总结专业做化妆品的网站

之前搭建了整个开发环境实现了登录注册&#xff0c;springBoot整合mybatis完成增删改查&#xff0c;今天完成分页查询&#xff0c;使用阿里云oss存储照片等资源&#xff0c;后期会尝试自己搭建分布式文件系统来实现。 一&#xff0c;SpringBootMybatis完成分页查询 1&#xff…

网站假设公司排名windows系统安装wordpress

RPC RPC 框架是分布式领域核心组件&#xff0c;也是微服务的基础。 RPC &#xff08;Remote Procedure Call&#xff09;全称是远程过程调用&#xff0c;相对于本地方法调用&#xff0c;在同一内存空间可以直接通过方法栈实现调用&#xff0c;远程调用则跨了不同的服务终端&a…

深达网站制作深圳公司广东圆心科技网站开发需要多少钱

因为需求需要重建EM,重建时因为某些错误被迫停止,比如对象已存在、用户已经存在等,最终找出了创建必备的条件&#xff1b;1.环境变量(Oracle和Grid在同一个用户下安装):ORACLE_HOME 要设为DB路径;ORACLE_UNQNAME 要设置;2.删除em相关的同义词:select drop public synonym ||syn…

网站后台管理系统模板下载做网站用到什么开发语言

描述 KiKi想知道他的考试分数是否通过&#xff0c;请帮他判断。从键盘任意输入一个整数表示的分数&#xff0c;编程判断该分数是否在及格范围内&#xff0c;如果及格&#xff0c;即&#xff1a;分数大于等于60分&#xff0c;是输出“Pass”&#xff0c;否则&#xff0c;输出“…