自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (5)
  • 收藏
  • 关注

原创 Redis实战之群设计

四类集合1、ID分配:string群ID分配:ids:chat消息ID分配:ids:msg:ChatID2、群内成员信息:zsetchat:ChatID 最后获取的群消息ID UserID3、群消息:zsetmsg:ChatID 群消息ID MsgInfo4、用户关注的群:zsetseen:UserID 最后获取的群消息ID ChatID操作:...

2018-02-13 15:30:34 336

原创 Python垃圾回收机制

采用引用计数来跟踪和回收垃圾,通过“标记-清除”解决容器对象可能产生的循环引用的问题,并结合“分代回收”以空间换取时间来进一步提高垃圾回收的效率。引用计数当一个对象被创建或复制时,引用计数加1;当一个对象被销毁时,引用计数减1;当引用计数为0时,就直接释放对象所占用的内存。优点: 1)实时性:一旦引用计数为0,内存被立即释放。缺点: 1)维护引用计数消耗资源。 2)循环引...

2018-02-12 15:21:03 218

原创 Redis一致性哈希算法

场景描述假设有N台缓存服务器,现在我们希望把3万张图片缓存到这些服务器上。目标:缓存尽可能均匀分布在各服务器上,以上它们能够平摊缓存压力。那么可以:无任何规律的将3万张图片平均缓存到所有服务器上。但当需访问某图片时,需要遍历所有服务器所有缓存项,效率太低、时间太长。hash(缓存项的KEY)%服务器的个数,决定缓存项被缓存到哪一台服务器上(缓存项KEY可取名字等)。查找的时候,同样根据...

2018-02-12 15:05:23 1175

原创 微信红包架构

业务场景分3个过程: 1. 发红包设置红包金额、数量从用户账号中扣除金额生成红包、发送抢红包链接2. 抢红包用户点击抢红包链接3. 拆红包用户拆红包修改红包剩余金额、剩余数量-1用户抢到红包用户的账户余额架构分析难点在于:大访问高并发。解决方法:请求过滤。这是因为:只有少数人可以抢到红包,大部分的请求都属于无效请求,因此要把大量无效的请求...

2018-02-12 14:48:03 615

原创 TCP/IP疑难点

序列号与确认号概念 序列号Seq:告诉对方自己本次发送的数据从*号开始。初始序列号ISN(initial sequence number),由发送端和接收端各自按照一定的算法随机生成。确认号Ack:自己上一次已经成功收到的数据字节序列号+1。用于告诉对方,该确认号之前的数据都已收到,自己下一次想接收字节序列号从该确认号开始的数据。初始序列号之所以采用随机方法产生,主要是从网络安全方...

2018-02-12 13:33:37 465

原创 求无序数组排序后相邻两个数的最大差值

方法一(位图法):遍历原数组,求出最大值Max和最小值Min;创建一个长度为k(k=Max-Min+1)的新数组Array;遍历原数组,把原数组每一个元素插入到新数组Array对应的位置,比如元素的值为n,则插入到Array[n-min]当中。此时Array的部分位置为空,部分位置填充了数值。遍历新数组Array,统计出Array中最大连续出现空值的次数+1,即为相邻元素最大差值。

2018-02-06 15:48:39 2304 1

原创 B+树

概念B+树,是B树的一种变形树。特性一棵m阶的B+树与m阶的B树的差异在于:若某节点有n个孩子,则该结点包含的关键字个数为n; (对于B树,节点包含的关键字个数为:n-1)B+树的数据(关键字及指向关键字记录的指针)都存储在叶子结点中,分支结点均为索引(其子树根结点中最大/最小关键字),且叶子结点是按关键字自小而大的顺序链接。 (对于B树,分支结点和叶子结点都存储数据)

2018-02-06 11:10:31 2141

原创 QPluginLoader 加载/卸载插件

最近在用QPluginLoader为server程序做一个打补丁的功能,即让server程序定时检索是否有最新的补丁包,若有则下载并替换原先的功能,从而使server程序在不退出的情况下实现不间断升级。 QPluginLoader的使用方法如下。接口定义接口类必须是虚基类,除构造函数、析构函数(最好定义为虚函数)外的成员函数都必须是纯虚函数。// 定义接口class SGISSvr

2018-02-05 20:29:57 9980 2

Windows Redis 集群搭建工具

Windows Redis 集群搭建: 1、Redis 3.2.100。 2、redis-trib.rb。 3、rubygems-2.6.11.zip。 4、rubyinstaller-2.2.6.exe。

2017-04-19

openssl1.0.1源码

openssl1.0.1源码

2017-01-25

Win32OpenSSL

Windows 32bit SSL工具。

2017-01-23

Win7 + VS2013 + FastCGI + gSOAP搭建 WebService

Win7 X86 + VS2013 + FastCGI + gSOAP搭建 WebService

2017-01-06

Apache2.2 + FastCGI + gSOAP搭建 WebService工具

Apache2.2 + FastCGI + gSOAP搭建 WebService工具,内含: 1、fcgi-2.4.1-SNAP-0910052249.tar.gz 2、mod_fcgid-2.3.9-crlf.zip 3、httpd-2.2.25-win32-x86-openssl-0.9.8y.msi

2017-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除