Redis的五种对象类型及其底层实现

Redis对象类型简介 Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的。比如,我们执行以下代码:   redis>SET message "hello redis" 其中的key是message,是一个包含了字符串"message"的对象。而value是一个包含了"hello redis"的对象。 Redis共有五种对象的类型,分别是...
分类: 其他 发布时间: 08-10 23:52 阅读次数: 0

sharding-jdbc系列之 数据源配置(一)

spring boot Yaml方式 @Bean(name = "testDataSource") public DataSource testDataSource() throws IOException {         String yml = "jdbc/testDataSource.yaml";         Resource certResource = new ClassPa...
分类: 其他 发布时间: 08-10 23:52 阅读次数: 0

sharding-jdbc系列之SQL解析(二)

前言 再讲SQL路由之前,先简要的将一个SQL解析,SQL解析是sharding-jdbc非常底层的东西,了解这个, 对于真正用这个中间件的作用相对来说稍微弱一点,但是也要了解一个大概。 ParsingSQLRouter 在SQL路由之前,都会调用该类的parse方法,进行SQL解析 public final class ParsingSQLRouter implements SQLR...
分类: 其他 发布时间: 08-10 23:52 阅读次数: 0

sharding-jdbc系列之SQL路由(三)

前言 本文基于sharding-jdbc1.5.4 , mybatis1.3.0 代码入口 源码入口: com.dangdang.ddframe.rdb.sharding.jdbc.core.statement.ShardingPreparedStatement 该类实现了PreparedStatement接口 。 在mybatis执行SQL的时候,会调用PreparedStatemen...
分类: 其他 发布时间: 08-10 23:52 阅读次数: 0

kafka快速开始教程

此教程假设你刚刚开始没有任何 Kafka 或 ZooKeeper 数据。Kafka的控制台脚本在类Unix和Windows平台不同,Windows平台使用bin\windows\\代替bin/,脚本的扩展名改为.bat。 第一步:下载代码 下载0.10.1.0发行版并解压。 > tar -xzf kafka_2.11-0.10.1.0.tgz > cd kafka_2.11-0...
分类: 其他 发布时间: 08-10 23:51 阅读次数: 0

sharding-jdbc系列之分片算法(四)

  前言 通过前文,我们可以知道,不管是简单路由还是复杂路由,最终都是通过SQL计算出最小执行单元, 也就计算该SQL涉及到哪些数据源,哪些表。 在计算这个的时候,都会用到通过ShardingStrategy 这个类来处理。今天主要就是讲这个类。 ShardingStrategy 这个类都会通过当前的分表规则获取。 代码片段如下: 分库 private Collection&l...
分类: 其他 发布时间: 08-10 23:51 阅读次数: 0

C++继承之 重载 、覆盖、隐藏

在C++ 继承中经常会遇到函数重载、覆盖、隐藏这三个玩意,但是这三者的本质区别又是什么,自己在网上和资料里查后并通过代码证实,下面我们看看者三者的本质: 1、重载: 重载是C++独有的一个特性,C下面是没有的,具体分析请看:http://blog.csdn.net/magiclyj/article/details/71081288. 这里我们来具体看看重载,重载特点: 1、在同一范围 2、
分类: 其他 发布时间: 08-10 23:51 阅读次数: 0

三款串口控制工具

介绍三款串口监控工具:Device Monitoring Studio,portmon,Comspy 在开发上位机下位机通讯程序时,有一个好的监控工具会事半功倍。特在网上找了几款串口监控软件,作了简单对比
分类: 其他 发布时间: 08-10 23:50 阅读次数: 0

安装Ubuntu 14.04后需要做的5件事情

Ubuntu最新版本Ubuntu 14.04已经发布,它是一个长期支持版本(LTS),提供软件包和安全更新的服务周期为5年。本文为大家简单介绍了Ubuntu 14.04版本新特性和安装Ubuntu 14.04后需要做的5件事情,以供参考。Ubuntu目前是世界上最流行的Linux操作系统,它提供了桌面版本和服务器版本,其他流行的Linux发行版本如Linux Mint也是基于Ubuntu定制而来。u
分类: 其他 发布时间: 08-10 23:50 阅读次数: 0

Ubuntu 平台的防火墙关闭命令

一直使用的是Redhat平台,防火墙关闭命令也很简单,使用systemctl stop firewal(用tab键补齐),但是使用了ubuntu之后发现这个命令并不能使用,所以这里记录一下我自己在网上学到的,ubuntu官方提供了一个脚本ufw来替代繁琐的iptables系列方所命令,而且使用起来也很方便,下面我们来看看ufw对防火墙的操作使用: 1、关闭防火墙: #sudo ufw dis
分类: 其他 发布时间: 08-10 23:50 阅读次数: 0

Linux系统SVN工具搭建

SVN(subversion)使我们在Windows和Linux下上传和下载文件的一个工具,同事也能实现对文件的管理,也是对项目管理的一个工具。小型文件的上传下载比较方便的,这里也主要说说SVN在Redhat和ubuntu平台的安装和搭建:安装:1、Redhat 安装svn:yum install -y subversion //可以解决依赖问题 2、ubuntu 安装svn:sudo apt-ge
分类: 其他 发布时间: 08-10 23:50 阅读次数: 0

C++继承之钻石继承和虚继承

C++中继承在之前博客里分享过,主要说的是连个特殊的继承:钻石继承和虚继承两个身份证号显然是不合理的。可以把class Person这个共同基类设置为虚基类,这样从不同路径继承来的同名数据成员在内存中就只有一个拷贝,同名函数也只有一种映射。 。1、钻石继承:1)首先我们先看一个简单的继承: 1 #include <iostream>
分类: 其他 发布时间: 08-10 23:49 阅读次数: 0

shell输入/输出重定向

在shell里也和我们程序中一样:0代表标准输入(stdin),使用<和<<,/dev/stdin->/proc/self/fd/0 0代表:/dev/stdin; 1代表标准输出(stdout),使用>和>>,/dev/stdout->/proc/self/fd/1 1代表:/dev/stdout; 2代表标准错误输出(stderr): /dev/stderr->/proc/self/fd/2
分类: 其他 发布时间: 08-10 23:49 阅读次数: 0

shell 文件包含

在shell编程里文件相互是可以包含的,在一个文件里访问另外一个文件,具体操作如下: 访问另外一个脚本时需要在两种格式中选一个格式来操作,被包含的文件不需要可执行权限。 运行file.sh脚本,会输出file1.sh的内容:
分类: 其他 发布时间: 08-10 23:49 阅读次数: 0

shell if语句和test命令

在shell中if条件判断语句和我们的C、C++、Java等语言是不同的,shell的if语句条件必须用[ ]括起来,另外[ ]里外都需要用空格与周围隔开(例如[ a==b ]),否则报错;另外与if配对的有else if和else,如果我们要写这两个必须后面跟有东西,否则也会报错,在编程中不跟是可以的: if(a==b) printf(&quot;a=b&quot;); else { //什么都没有 } 但是s...
分类: 其他 发布时间: 08-10 23:48 阅读次数: 0

shell中的循环语句

在我们平时使用C/C++编程中循环无疑是for和while,二者结束的标志是break,continue是二者结束本轮函数进入下一论循环的开关,但是在shell里除了for和while还有一个until,情况分析有case语句,但是和C/C++中完全不一样,在代码中有详细的标注: 1 #!/bin/bash
分类: 其他 发布时间: 08-10 23:48 阅读次数: 0

I/O复用select、poll、epoll之pk

一、select、poll、epoll简介:epoll跟select都能提供多路I/O复用的解决方案。在现在的Linux内核里有都能够支持,其中epoll是Linux所特有,而select则应该是POSIX所规定,一般操作系统均有实现 select: select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1、 单个进程可监视的fd数量被限制,即
分类: 其他 发布时间: 08-10 23:48 阅读次数: 0

快速排序和归并排序算法

快速排序: https://baike.baidu.com/item/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/369842?fr=aladdin&fromid=2084344&fromtitle=%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F #include using namespace std
分类: 其他 发布时间: 08-10 23:48 阅读次数: 0

linux 下vim的多文件操作

vim下如何同时打开多个文件,而且多个文件间切换操作,在网上搜集一些材料,自己整理了一下,下面我们来看看这些操作: 一、打开多个文件: 1、vim还没启动时: #:vim file1 file2 file3…filen /或者使用/ //直接在命令行中输入 打开后会显示在第一个文件页面上 vim * //打开当前目录下所有文件 2、vim已经启动打开其他文件: :o
分类: 其他 发布时间: 08-10 23:47 阅读次数: 0

VMWare虚拟机上安装的Linux仅与宿主机之间的互通

最近一直很困惑虚拟机上的Redhat和宿主Windows7之间有时候在WiFi下可以互通有时候无法互通,导致用putty连接虚拟机同时使用两个系统很麻烦,在网上查了很多资料和自己亲自测试成功,现将过程记录下来: 虚拟机的网络模式有以下几种: 1、桥接模式(B):直接连接物理网络 2、NAT模式(N):用于共享主机的IP地址 3、仅主机模式(H):与主机共享的专用网络 其他自定义或者LAN
分类: 其他 发布时间: 08-10 23:47 阅读次数: 0