240 发简信
  • 如何搭建redis-cluster

    背景 ​ 假设在一台主从机器上配置了20G内存,但是业务需求是需要50G内存的时候,主从结构+哨兵可以实现高可用故障切换+冗余备份,但是不能解决数据容量的问题,用...

  • redis哨兵故障转移及实现

    在上篇文章中docker-compose搭建redis-sentinel成功的搭建了1主2从3哨兵。 Sentinel命令 sentinel是一个特殊的redis节点,它有自...

  • 120
    docker-compose搭建redis-sentinel

    主从复制的问题 ​ 对于上篇文章redis持久化rdb及aof中,redis服务器重启时的数据恢复,在新版本中是不符合我画的那个流程图的。 ​ redis启动的时候会...

  • php反射实现Ioc/Di及注解

    ​ PHP5之后提供了完整的反射API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。此外,反射API提供了方法来取出 函数、类和方法的文档注释。 Ioc...

  • redis持久化rdb及aof

    介绍 ​ 持久化的功能:Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内...

  • 120
    redis之主从问题处理

    主从复制的常用相关配置 Slaveofslaveof <masterip> <masterport>slave实例需要配置该项,指向master的(ip,port) mast...

  • 120
    redis主从之全量复制及增量复制

    主从注意事项 在之前我写了一篇docker实现redis主从复制的文章,点击进入 对于主从复制的好处,在上篇文章我也写了,下面说一下注意事项。 注意事项: 安全对于数据比较重...

  • Go常见架构模式的实现

    实现pipe-filter framework Pipe-Filter 模式: ⾮常适合与数据处理及数据分析系统 Filter封装数据处理的功能 Pipe⽤于连接Filter...

  • Go反射编程

    reflect.TypeOf vs. reflect.ValueOf: reflflect.TypeOf 返回类型 (reflflect.Type) reflflect.Va...

  • Go单元测试及Benchmark

    单元测试 之前在刚开始写了如何编写测试程序。 内置单元测试框架: Fail, Error: 该测试失败,该测试继续,其他测试继续执⾏ FailNow, Fatal: 该测试失...

  • Go典型并发任务

    仅运行一次 最容易联想到的单例模式: 仅需任意任务完成 任务堆里面,只需任务一个完成就返回。 因为协程的调度机制,所以返回结果不一样。 但这样是存在很大的问题,修改TestF...

  • Go并发编程

    协程机制 Thead vs. Groutine 创建时默认的 stack 的大小JDK5 以后的 Java Thread stack 默认为1MGroutine 的 Stac...

  • Go包和依赖管理

    构建可复用的模块(包) package: 基本复用模块单元以首字母大写来表明可被包外代码访问 代码的 package 可以和所在的目录不一致 同一目录里的 Go 代码的 pa...

  • Go编写好的错误处理

    编写好的错误处理 Go的错误机制: 没有异常机制 error 类型实现了 error 接口type error interface { Error() string} 可以...

  • Go面向对象编程

    Is Go an object-oriented language? Yes and no. Although Go has types and methods and al...

  • Go的函数及可变参数和defer

    函数是一等公民: 可以有多个返回值 所有参数都是值传递:slice、map、channel 会有传引用的错觉 函数可以作为变量的值 函数可以作为参数和返回值 可变参数: de...

  • Go字符串

    字符串: string是数据类型,不是引用或指针类型 string是只读的byte slice,len函数可以获取它所包含的byte数 string的byte数组可以存放任何...

  • 120
    Go常用集合

    数组和切片 数组 容量不可伸缩 两个数组可以比较 声明: 遍历: 截取: a[开始索引(包含):结束索引(不包含)] 切片 容量可以伸缩 两个切片不能比较 内部结构: 声明:...

  • Go基本程序结构

    编写测试程序 测试程序: 源码文件以_test结尾:x x x_test.go 测试方法名以Test开头:func TestXXX(t *testing.T) {...} 实...

  • Hello,Go

    简简单单了解Go Go的特点 只有25个关键字 强类型语言 垃圾回收 指针直接访问内存 开发环境构建 1.8之前必须设置 1.8之后没用设置,将使用默认值 扩展名必须为go ...