db
文章平均质量分 58
qianbo_insist
AI,网络安全,nodejs,c++ ,java,.net
email :[email protected]
weixin:18091589062
展开
-
sql 数据分组统计与合计
需求假定有这样得表需要根据department,categoryid,standard 分组并且,status = 0,和status = 1 得状况来统计在库和非在库,status = 0代表在库,status = 1 代表非在库,如果将数据统计出来departmentid categoryid standard num 在库 出库123 517 规格1 5 4 1 123 518 规格1 8 7 1原创 2022-04-11 16:19:32 · 2014 阅读 · 0 评论 -
订阅发布系统得解耦与冗余
如何做一个国产数据库一如何做一个国产数据库二如何做一个国产数据库三如何做一个国产数据库四如何做一个国产数据库五如何做一个国产数据库六如何做一个国产数据库七1、订阅发布系统 订阅发布系统在数据库和消息系统里面比较流行,如果除掉持久化,相当于一个MQ系统,往往处理数据得时候过程有可能失败,这时还是需要一定得持久化功能.1.1 数据处理解耦 按照我们现在得业务系统,项目需求五花八门,因此处理过程一般最好原创 2022-03-30 15:22:40 · 1089 阅读 · 0 评论 -
如何做一个国产数据库(七) 网络传输 java做订阅客户端
如何做一个国产数据库一如何做一个国产数据库二如何做一个国产数据库三如何做一个国产数据库四如何做一个国产数据库五如何做一个国产数据库六server端协议定义再次强调一下我们的protocol 应用层的协议,其中协议第一个字节的前两位如下所示//1字节 2位//00 发布数据//01 订阅数据//10 心跳数据//11 返回数据所以服务端在接收到头部字节结束后,可以知道客户端时订阅客户端还是发布了 int on_headers_complete(void* param) { //原创 2022-03-28 21:36:49 · 3251 阅读 · 0 评论 -
如何做一个国产数据库(六) 网络传输 nodejs做测试客户端
如何做一个国产数据库一如何做一个国产数据库二如何做一个国产数据库三如何做一个国产数据库四如何做一个国产数据库五原创 2022-03-26 21:33:43 · 5324 阅读 · 0 评论 -
如何做一个国产数据库(五) hash一致性算法
分布式我们做的是分布式数据库,也就是我们的节点会有很多个。那么数据应该存储到哪个节点上呢,如何计算?hash 一致性算法使用hash一致性算法可以使用多个节点,hash的节点值为ip地址,算法:unsigned int hvalue = hash(ip);hash函数计算出一个四字节整型数,按照0----2的32次方排列。那么,就可以计算输入值来放到什么位置了。unsigned int xxx = hash(输入值);我们把所有节点放到list里面#include list alln原创 2022-03-25 19:06:11 · 2066 阅读 · 0 评论 -
如何做一个国产数据库(四)
网络这次要用到网络了,存储的时候我们都使用网络来输入输出,当然,像本机是可以使用进程间通信的,不过为了简单,我们此次都使用tcp协议。协议此次使用libuv来做网络的传输,我们首先定一个协议,做到能订阅发布//协议//第1字节 0-1位 总共2位//00 发布数据//01 订阅数据//10 心跳数据//11// 第一字节 2-5位 总共4位// 0000 json数据// 0001 二进制数据// 0010 文本数据// 0011 视频数据// 0100 音频数据// 01原创 2022-03-24 21:15:13 · 2123 阅读 · 0 评论 -
go中使用sqlite
安装mingw64sqlite作为一个快速开发的数据库,理应被go支持,但是要在go里面使用sqlite,实际上是要下载sqlite的源代码编译的,当然,使用的时候不用手动编译,在linux中,gcc如果已经安装了,是不用担心的,但是在windows中,为了支持编译,必须使用mingw64mingw64下载注意在mingw64安装过程中选择x64。使用sqlite......原创 2022-01-16 09:06:18 · 3736 阅读 · 0 评论 -
如何做一个国产数据库(三)
一和二如何做一个国产数据库一如何做一个国产数据库二1、数据结构重新定义再次重新定义数据结构typedef struct sdata{ uint32_t index; char vardata[128];}sdata;typedef struct sdata_index{ uint32_t index; uint32_t offset;}sdata_index;//增加的数据库上下文环境结构体typedef struct db_context{ char v_tabl原创 2021-06-27 20:42:29 · 361 阅读 · 0 评论 -
hiredis源码分析与简单封装
hiredisHiredis是一个开源C库函数,提供了基本的操作redis 函数, 如数据库连接、发送命令、释放资源等等1、hiredis nethiredis 本身就是做了跨平台的代码,c语言打造可以执行在多种平台上,看看他的net块做了些什么#include "fmacros.h"#include <sys/types.h>#ifdef _WIN32#ifndef FD_SETSIZE#define FD_SETSIZE 16000#endif#else#includ原创 2021-06-26 07:46:51 · 1312 阅读 · 0 评论 -
c语言调用sqlite
db sqlite c语言#ifndef _DB_PLUGIN_H_#define _DB_PLUGIN_H_#pragma warning(disable: 4996)//#include "mongoose.h"//typedef struct mg_keyvalue//{// char *key;// int klen ;// char *value;// int vlen;//}mg_keyvalue;void *db_open(const char *db_path原创 2021-06-02 18:45:14 · 382 阅读 · 0 评论 -
go-文件读写-db
目的1 写一个文件字符串的小型db,将ueerid写入文件,下次再次写入时,先查找有无2 读出时比对,读的时候是使用一行一行读的,这里如此使用是因为还要扩展到多个字段,现在是一个字段3 暂时不使用算法,等下次需求再扩展show me the code注:写入时一定要每个写入"\n"package mainimport (“bufio”“fmt”“io”“io/ioutil”“os”“strings”)//注意写入时一定要写入一个\nfunc User_Write(img_pa原创 2021-05-24 13:15:33 · 432 阅读 · 0 评论