自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TaoistVI

遨游知识的海洋

  • 博客(11)
  • 资源 (3)
  • 收藏
  • 关注

原创 Redis 单线程和IO复用

Redis是基于单线程实现,但是速度却不慢,原因有二:1)基于内存运行机制,单线程降低了cpu内核资源的使用压力;2)Redis会根据不同的系统使用了I/O复用机制;redis的I/O复用是redis依赖设备平台提供的机制,redis会使用一些C语言提供的函数库,这些函数库能为redis选择当前系统版本最优秀的I/O复用技术。说白了,redis依赖于C语言提供的函数库,通过对IO多路复用的函数库进行封装,根据自身需要提供IO复用技术;并且redis会依据不同平台而设置不同的使用机制.

2020-10-14 23:33:33 287

原创 redis的数据结构和拓容

redis的存储结构是基于hashtable,在redis里,这个hashtable称之为字典。而字典里存储着 hashkey - dictentry,为了解决key的hash冲突,dictentry是一个数组,key进行哈希函数(Murmurhash2)后得出有可能会产生相同的哈希值。所以dicentry是一个数组,最新来的元素值会放到dicenty的头部,这样能提高查询效率,元素值可能是指针,也可能是整数;对于Murmurhash2算法的评价:随机性好,速度快;问题:ha..

2020-10-14 23:28:34 173

原创 redis的三种多机模式

redis有三种多机模式:•单机模式读和写都由单台服务器来完成,适用于数据量较少的情况•replication模式,单master,多slave主从复制,读写分离;master负责写入,slave负责读取,基于单机的基础上,提高了读的效率,但并没有增加存储量或存储效率•cluster模式,多master,多slave多master,多slave,适用于数据量特别大的情况;但要注意的是,master负责写和读,slave只是备份master数据,等master挂掉之后,成为新的ma.

2020-10-14 23:15:59 662

原创 zookeeper如何控制请求的数量?

zookeeper通过参数maxClientCnxns数来控制客户端的连接数,,超过这个数量就会抛出IO异常:throw new IOException("Too many connections from " + ia" - max is " + maxClientCnxns );连接数maxClientCnxns默认是60:关键代码在于nio服务工厂对于NIOServerCnxnFactory的接受连接的处理:/** * Accept new socke..

2020-10-14 21:48:43 890

原创 zookeeper请求用了什么协议,序列化用了什么方式?

/** * 创建节点 */@Testpublic void createNodeTest() { System.out.println("conneted ok!"); User user = new User(); user.setId("1"); user.setName("testUser"); /** * testUserNode" :节点的地址 * user:数据的对象 * CreateMode.PERSISTEN.

2020-10-14 21:38:04 481

原创 解读zookeeper顺序节点和分布式锁的实现原理

关键代码在于:zookeeper的预处理器PrepRequestProcessor方法pRequest2TxnCreate(...)/** * zk请求事务处理 */ private void pRequest2TxnCreate(int type, Request request, Record record, boolean deserialize) throws IOException, KeeperException { if (deserial

2020-10-14 18:11:22 988

原创 使用zookeeper源码来搭建服务端

学习zookeeper除了阅读网络上已经整理好的文献外,要深入学习离不开对于源码的阅读,下面贴出使用zookeeper源码来搭建服务端的步骤:zookeeper服务端搭建:从git上下载经过处理的源码(非官网):https://github.com/HelloZola/zookeeper-branch-3.5.6该源码是使用git上zookeeper最新开源源码,并通过版本回退,而且在本地机器经过修改以达到可直接下载使用和运行,可进行调试和学习之用,最新的官方源码可访问:https://g.

2020-10-14 17:28:19 508

原创 log4j+slf4j 占位符使用

在实际开发中,项目并没有直接使用log4j作为日志主要打印,而进一步选择slf4j,原因很多,具体可以参考:https://blog.csdn.net/minicto/article/details/52672472 但在slf4j中,占位符是一个非常实用的打印。话不多说,直接上demo:建立一个实体对象:/** * 个人实体对象 * * @Auther: chenka...

2018-09-30 18:28:18 13817

原创 log4j+slf4j 搭建

 搭建maven工程,本人搭建的是jar版的maven 添加log4j和slf4j的maven依赖: <!--日志 start--> <dependency> <groupId>log4j</groupId> <artifactId>log4j<...

2018-09-30 18:20:55 384

原创 kafka消息生产者--新旧api

新版本的kafka的对于消息发送生产者提供了新的api,相对于旧版的api,性能有了大大的提升:旧版API:package com.ztesoft.iot.bill.spark.kafka;import java.util.ArrayList;import java.util.List;import java.util.Properties;import com.ztesoft.iot...

2018-05-09 17:27:55 1478

转载 kafka安装教程

下载安装文件:https://www.baidu.com/link?url=gFxAJh0GjJzFAA-_R3ez6szJCiNobWOVUjOaLzBByNRUERK0NHA5IY8pg3JtpGV5&wd=&eqid=9a3de56c00023cf0000000065ac74964安装教程:https://www.cnblogs.com/mrblue/p/6425309.ht...

2018-04-07 11:40:35 401

中国5级地理数据、数据库数据(省、市、区、镇、居委会)

中国2015地理统计数据(不包括港澳台),数据内容包括:区域编码、上级区域编码、区域名称、区域级别(省市区镇居委会);数据来源于通过网络爬虫在国家统计局官网上进行拉取。

2018-10-22

中国地理省市区镇居委会

中国2015地理统计数据(不包括港澳台),数据内容包括:区域编码、上级区域编码、区域名称、区域级别(省市区镇居委会);数据来源于通过网络爬虫在国家统计局官网上进行拉取。

2018-10-18

中国地理数据-省市区镇居委会

中国2015地理统计数据(不包括港澳台),数据内容包括:区域编码、上级区域编码、区域名称、区域级别(省市区镇居委会);数据来源于通过网络爬虫在国家统计局官网上进行拉取。

2018-10-18

空空如也

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

TA关注的人

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