- 博客(17)
- 收藏
- 关注
原创 PostgreSQL-gis Redis-geo BuntDB 性能比拼
PostgreSQL Redis geo BuntDB 性能比拼文章目录PostgreSQL Redis geo BuntDB 性能比拼PostgreSQL(pg)搭建pg redis buntdb 性能比较(单条命令时间查询)pg 查询redis 设置 slowlog 并查询时间buntdb 查询使用 wrk 压测比较 Qps首先测试保证 redis&pg 执行后的结果是一致的redispg每次 conn 一个连接进行压测对测试的数据进行加锁压测buntdb 测试基础测试修改源码后测试系统资源
2021-08-24 13:14:14 1514
原创 redis geo 性能分析及对问题的思考
redis geo 性能分析及对问题的思考文章目录redis geo 性能分析及对问题的思考对 redis 进行压力测试对 redis 进行满载压力分析georadiusGenericmembersOfGeoHashBoxgeohashGetDistancedecodeGeohashzmalloc&freeaddReplyDoubleDistanceaddReplyBulkSds总结:redis geo 性能优化方案(题外话,自己搭建博客没人看,以后还是在 csdn 和自己搭建的博客都发吧,屈服
2021-08-05 13:29:44 2244
原创 LocalCache 学习小扎
什么是 LocalCache,go 中常见的 LocalCache 有哪些?LocalCache 顾名思义,是本地高速缓存,不是分布式的,用于加快获取数据的速度或存储一些重要但不需要持久化数据。为什么需要 LocalCache?常见的比如有 Redis 中的热 key 问题。热 key 问题go 中常见的 LocalCache 有:bigcache、freecache、ccache 等。...
2020-02-25 15:43:37 1963
原创 关于打洞的那些事
如何实现p2p网络序:学了几天的打洞,强烈推荐用UDP打洞,TCP打洞太麻烦了,而且问题很多。NAT请点击这个链接具体就不过多累述了,上面链接写的很详细,现在使用的NAT方式大体都是一个私有IP和端口对应一个公网IP和端口NAT打洞原理NAT现在使用的基本都是只有当消息从私有ip和端口从公网ip和端口流出 以后从公网来的这个公网ip和...
2019-08-12 22:09:06 178
原创 网络总结
网络总结对TCP/IP这块挺喜欢的,认真把这方面学习了,现在总结一下首先得从链路层说起了链路层首先是链路层的两种封装格式:ieee封装和以太网封装关于ieee封装就不过多叙述,毕竟用的很少以太网封装格式:源mac地址(6字节) 目的mac地址(6字节) 还有类型(2字节) 最后还有4字节的校验和(这个4字节在数据的最后面)目的mac地址一般是网关的mac地址...
2019-08-03 17:41:22 264
原创 Docker ----- 入门教程
docker什么是Docker?摘自百度百科:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。通俗的来说,就像是虚拟机一样,但是比虚拟机好用的多,而且不用担心环境等问题。Docker的安装安装要求:1.它仅适用...
2019-03-13 18:00:40 178
原创 Linux AIO
什么是AIO?AIO就是允许应用程序启动一个或多个异步执行的I / O操作。AIO的思想:进程发起I/O操作,而不用阻塞或等待任何操作完成,稍后或在接收到I/O操作完成通知时,进程可以I/O操作结果。也就是说,你可以在进程读写文件的同时,干你自己相干的事,而不用等待进程读写数据,节省时间。AIO的结构体:struct aiocb { ...
2019-02-28 17:44:00 986
原创 生产者消费者模式理解以及用其来实现可自动调控的线程池
用最简单的话描述生产者消费者模式:生产者生产产品,消费者消费产品。 ·如果消费者需要产品但是没有,那就等呗!等到生产者生产出来后消费者再消费。 ·如果生产者生产了很多,但是消费者不用,那就存着。(智能一点的肯定就生产的慢了)附上最简单的代码:pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;pthread_con...
2019-02-26 21:20:38 315
原创 慢系统调用,EINTR错误以及如何解决
慢系统调用概念:慢系统调用指的是可能永远阻塞的系统调用。例如,pause或wait或accept或读管道时,可能永远阻塞。EINTR错误EINTR错误产生的原因:在慢系统调用阻塞的时候,若有个信号发送过来(因为信号是异步的,可能随时过来),并且这个信号没被忽略,那么就会中断这个系统调用,并且把errno置为EINTR。然后就会执行后面的代码。解决方法1.重新执行这个慢系...
2018-12-25 15:48:43 910
原创 qq登录界面
弄了弄qt,就知道为什么产品和程序员关系不好了。。仿qq做的,感觉和qq差局还是很大,上图*.* 首先肯定是要把图片分成几部分,我分了4个框来处理这些(顺便吐槽一下Linux的画图软件,太难收了)下一个就是要对每一部分进行相应的处理,写相应代码 //创建用户名,动图,等等 buttonfindpasswd = new QPushButton("找回密码"...
2018-08-13 01:06:22 4210
原创 完全背包
先说说动态规划吧,最重要的就是找转移方程(虽然我开始感觉自己没找,都是自己想的,但是回头看,只不过是脑子里找的,但是当时不认为那个是转移方程,多刷刷就会了)背包问题这里就不讲了,网上找找就好啦简单提一下优化,就是背包的d[i][j]可以优化为d[j],因为每一次都是递推,把所有的和所有累加的放进去,一个一维数组足矣。 讲完全背包之前,先讲一个完全背包退化版的问题,对理解完全背包很有...
2018-08-12 21:35:18 146
原创 Linux网络编程
看网络编程的时候,开始感觉挺难,函数太多了,慢慢,学的多了,入门了,我把经验分享一下 客户端的我就不讲了,我主要讲讲服务器端的服务器端首先调用socket创建一个套接字。然后通过bind绑定。 socket只是创建了一个套接字,这个套接字将工作在哪个端口上,程序并没有固定。但服务器端的IP地址端口号一般是固定的,因此在服务器端的程序中,使用bind函数将...
2018-08-05 23:28:45 308
原创 经典问题之八皇后
首先引用下《算法竞赛入门经典(第二版)》的一句话:“回溯法是初学者学习暴力破解法的第一个障碍,学习时间短则数天,长则数月甚至一年以上”所以我在讲回溯法之前先讲几个例子,然后层层深入(一定要耐下心,慢慢看哦)1.枚举排列枚举1-10的所有排列(按字典序从小到大的顺序)肯定是递归了,但是要怎么做呢?是不是聪明的你已经想到了,就是每次把一个数放到标记数组中,如果有相同的数字就返回,没...
2018-08-05 21:38:51 199
原创 ls -R
废话不多说,就给看csdn的说两句1.用lstat,因为用stat会链接过去,导致各种问题2.latat参数里边写绝对路径,千万别写相对路径,(反正我的linux相对路径里的普通文件系统会认为是目录,然后进去)...
2018-07-28 23:56:50 2194
原创 计算机网络(小白)
这几天看了看网络最基础的,写个博客留个纪念。。(可能比较枯燥,都是些概念,慢慢耐着头皮看吧,我也是这样过来的)其实网络的本质就只是为交换数据的!!!先讲讲网络结构网络结构分为3层1.网络边缘:(一般就是家用电脑,手机等等)2.接入网络(物理介质):(就是说你是通过什么接入网络的,是无线,光纤还是电缆等等)3.网络核心:(路由器):(通过网络核心来进行数据交换,qq就是这样的...
2018-07-28 23:52:05 1326
原创 堆排序算法解析
首先来引入一个例子:如何使用选择排序?肯定是每一次遍历然后把大的放到最后面。(当然,前面也可以)我感觉堆排序其实和选择差不多。堆排序也是每次取出最大值,然后把最大值放后面 但是想学会堆排序,首先要知道什么是堆#堆的定义逻辑上:一个完全二叉树物理上:借助向量实现为什么能用一个向量来间接的弄一个完全二叉树呢?(你自己试试把这个完全二叉树按层次遍历,是不是就是...
2018-07-25 16:35:54 259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人