rickiyang的博客

欢迎关注个人博客:http://blog.rickiyang.cn

Gin框架日常使用--高频api使用示例

Go web框架目前有很多,Beego,Gin,Iris,Revel等等。目前国内使用量比较多的是前两个,鉴于Beego的源码一直被人吐槽并且Beego使用起来太过于臃肿,框架本身构造的大而全,很多功能不一定会是你想要的这些原因,我们着重关注Gin框架的使用。Gin没有像Beego那样什么都做,它...

2019-06-16 23:03:02

阅读数 3

评论数 0

Caffeine Cache-高性能Java本地缓存组件

前面刚说到Guava Cache,他的优点是封装了get,put操作;提供线程安全的缓存操作;提供过期策略;提供回收策略;缓存监控。当缓存的数据超过最大值时,使用LRU算法替换。这一篇我们将要谈到一个新的本地缓存框架:Caffeine Cache。它也是站在巨人的肩膀上-Guava Cache,借...

2019-06-15 19:26:17

阅读数 5

评论数 0

Guava cache使用总结

缓存分为本地缓存和远端缓存。常见的远端缓存有Redis,MongoDB;本地缓存一般使用map的方式保存在本地内存中。一般我们在业务中操作缓存,都会操作缓存和数据源两部分。如:put数据时,先插入DB,再删除原来的缓存;ge数据时,先查缓存,命中则返回,没有命中时,需要查询DB,再把查询结果放入缓...

2019-06-13 00:33:38

阅读数 13

评论数 0

MySQL一键生成实体文件的神器-ginbro

Java转过来的同学对Mybatis的使用肯定不陌生,特别是对一堆表去生成相应的dao和entity的时候使用Mybatis generator所带来的感触,无比深刻。前面我们也讲过原生的数据库使用,讲过gorm的使用,无论是原生的还是第三方的数据库工具,都是需要我们手动的写struct和相应的C...

2019-06-11 21:19:45

阅读数 7

评论数 0

Viper-Go一站式配置管理工具

什么是Viper Viper是一个方便Go语言应用程序处理配置信息的库。它可以处理多种格式的配置。它支持的特性: 设置默认值 从JSON、TOML、YAML、HCL和Java properties文件中读取配置数据 可以监视配置文件的变动、重新读取配置文件 从环境变量中读取配置数据 从远端配置系...

2019-06-07 00:09:09

阅读数 36

评论数 0

Go orm框架gorm学习

之前咱们学习过原生的Go连接MYSQL的方法,使用Go自带的"database/sql"数据库连接api,"github.com/go-sql-driver/mysql"MYSQL驱动,通过比较原生的写法去写sql和处理事务。目前开源界也有很多封装好的orm...

2019-06-05 14:00:44

阅读数 40

评论数 0

Storm初识(1)

在Storm集群中,有两类节点:主节点 master node 和工作节点 worker nodes。 主节点运行着一个叫做Nimbus的守护进程。这个守护进程负责在集群中分发代码,为工作节点分配任务,并监控故障。 Supervisor守护进程作为拓扑的一部分运行在工作节点上。一个Storm拓扑结...

2019-05-27 23:12:45

阅读数 11

评论数 0

Go中的日志及第三方日志包logrus

有别的语言使用基础的同学工作中都会接触到日志的使用,Go中自然也有log相关的实现。Go log模块主要提供了3类接口,分别是 “Print 、Panic 、Fatal ”,对每一类接口其提供了三种调用方式,分别是 “Xxxx 、Xxxxln 、Xxxxf”,基本和fmt中的相关函数类似。 1. ...

2019-05-26 15:36:54

阅读数 14

评论数 0

Go中的异常处理

1. errors包 Go 有一个预先定义的 error 接口类型 : type error interface { Error() string } 错误值用来表示异常状态。Go也提供了一个包:errors,errors 包中有一个 errorString 结构体实现了 error 接口 。...

2019-05-23 22:00:09

阅读数 5

评论数 0

新手必须掌握的Linux命令

1. 常用系统命令 1.echo命令 echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。 [hadoop@hadoopmaster ~]$ echo $JAVA_HOME /usr/local/jdk [hadoop@hadoopmaster ~]$ e...

2019-05-22 23:21:59

阅读数 21

评论数 0

Go中sync包学习

前面刚讲到goroutine和channel,通过goroutine启动一个协程,通过channel的方式在多个goroutine中传递消息来保证并发安全。今天我们来学习sync包,这个包是Go提供的基础包,提供了锁的支持。但是Go官方给的建议是:不要以共享内存的方式来通信,而是要以通信的手段来共...

2019-05-20 23:51:19

阅读数 8

评论数 0

Go中的并发编程和goroutine

并发编程对于任何语言来说都不是一件简单的事情。Go在设计之初主打高并发,为使用者提供了goroutine,使用的方式虽然简单,但是用好却不是那么容易,我们一起来学习Go中的并发编程。 1. 并行和并发 并行(parallel): 指在同一时刻,有多条指令在多个处理器上同时执行。 并发(concur...

2019-05-18 17:08:18

阅读数 8

评论数 0

Go中配置文件读取的几种方式

日常开发中读取配置文件包含以下几种格式: json 格式字符串 K=V 键值对 xml 文件 yml 格式文件 toml 格式文件 前面两种书写简单,解析过程也比较简单。xml形式书写比较累赘,yml是树形结构,为简化配置而生,toml是一种有着自己语法规则的配置文件格式,我们一一来看使用方式...

2019-05-17 07:27:33

阅读数 26

评论数 0

Go中的fmt几种输出的区别和格式化方式

在日常使用fmt包的过程中,各种眼花缭乱的print是否让你莫名的不知所措呢,更让你茫然的是各种格式化的占位符。。简直就是噩梦。今天就让我们来征服格式化输出,做一个会输出的Goer。 fmt.Print有几个变种: Print: 输出到控制台,不接受任何格式化操作 Println: 输出到控制...

2019-05-11 17:30:16

阅读数 21

评论数 0

Go中的反射reflect

前面我们在学习到struct结构体的时候,因为结构体中的字段首字母大写,而我们想把json文件映射到该结构体上时,需要在在结构体字段后面加上json标签,表明结构体字段和json字段的映射关系。这其中就用到了反射的方式去获取标签,取出该标签对应的json字段然后存储到结构体字段上。 Go语言中提供...

2019-05-11 08:57:08

阅读数 13

评论数 0

Go中的interface学习

学过Java的同学都知道在Java中接口更像是一种规范,用接口定义了一组方法,下面实现这个接口的类只管按照写好的方法名和返回值去实现就好,内部如何实现是各个方法自己的事情,接口本身不关注。 另外Java中实现接口的类必须显式的声明实现了哪个接口: implement InterfaceName,仔...

2019-04-24 21:46:06

阅读数 29

评论数 0

Go中的命名规范

1.命名规范 1.1 Go是一门区分大小写的语言。 命名规则涉及变量、常量、全局函数、结构、接口、方法等的命名。 Go语言从语法层面进行了以下限定:任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头。 当命名(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母...

2019-04-22 23:39:12

阅读数 26

评论数 0

Go中的结构体

前面我们或多或少的都使用了结构体这种数据结构,本身结构体也有很多特性,我们一一来看。 结构体的作用是将一个或者多个任一类型的变量组合在一起的数据类型,类似于我们在Java中class的作用。在结构体重也可以嵌套结构体。结构体还可以有自己的方法。 1.定义结构体 我们先定义一个结构体: 结构体定义如...

2019-04-21 10:48:29

阅读数 26

评论数 0

Go中的文件读写

在 Go 语言中,文件使用指向 os.File 类型的指针来表示的,也叫做文件句柄 。我们来看一下os包的使用方式。 1.读取文件 os包提供了两种打开文件的方法: Open(name string) (*File, error) func OpenFile(name string, flag i...

2019-04-18 23:53:41

阅读数 26

评论数 0

Go包管理工具dep

dep是一个golang依赖管理工具,需要在Go 1.7及更高的版本中使用。 1. 安装 安装dep工具的方式有很多种,如果是mac电脑的话,只需要如下命令: brew install dep 对于Linux和类Unix系统而言,我们还可以使用如下方式安装dep: curl https://ra...

2019-04-18 17:10:31

阅读数 35

评论数 0

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