02 2021 档案

摘要:新建 创建一个新的 git 版本库。这个版本库的配置、存储等信息会被保存到.git 文件夹中 # 初始化当前项目 git init # 新建一个目录,将其初始化为Git代码库 git init [project-name] # 在指定目录创建一个空的 Git 仓库。运行这个命令会创建一个名为 阅读全文
posted @ 2021-02-25 13:18 牛奔 阅读(111) 评论(0) 推荐(0) 编辑
摘要:前言 数据竞争是并发情况下,存在多线程/协程读写相同数据的情况,必须存在至少一方写。另外,全是读的情况下是不存在数据竞争的。 Go语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的。 如果map由多协程同时读和写就会出现 fatal error:concurrent map r 阅读全文
posted @ 2021-02-24 11:17 牛奔 阅读(12304) 评论(0) 推荐(1) 编辑
摘要:package main import "fmt" type good struct { id int64 sum int64 } func main() { good1 := good{1, 3} good2 := good{1, 3} good := []good{} good = append 阅读全文
posted @ 2021-02-23 18:25 牛奔 阅读(616) 评论(0) 推荐(0) 编辑
摘要:package main import "fmt" func main() { p1 :=new(int) *p1 =1 fmt.Println("p1",p1) fmt.Println("*p1",*p1) fmt.Println("&p1",&p1) s1 := new([]int) s2 := 阅读全文
posted @ 2021-02-22 11:05 牛奔 阅读(141) 评论(0) 推荐(0) 编辑
摘要:简介 Go 语言又称 Golang,由 Google 公司于 2009 年发布,近几年伴随着云计算、微服务、分布式的发展而迅速崛起,跻身主流编程语言之列,和 Java 类似,它是一门静态的、强类型的、编译型编程语言,为并发而生,所以天生适用于并发编程(网络编程)。 目前 Go 语言支持 Window 阅读全文
posted @ 2021-02-21 22:34 牛奔 阅读(1694) 评论(0) 推荐(0) 编辑
摘要:前言 在读写分离的情况下,缓存和数据库数据不一致怎么解决? 请看这一篇如何更新缓存保证缓存和数据库双写一致性? 如何解决DB数据库的数据不一致问题? 请看这一篇怎么解决DB读写分离,导致数据不一致问题? 在缓存和数据库数据一致性问题中,推荐 先更新数据库,再删除缓存。如果缓存删除失败可以用MQ消息队 阅读全文
posted @ 2021-02-20 10:37 牛奔 阅读(971) 评论(0) 推荐(0) 编辑
摘要:前言 在项目中缓存是经常用到的,为了减少和数据库的交互,小伙伴们利用缓存的思路如下: 我们小伙伴们有没有考虑到缓存更新的问题,小伙伴们肯定会说肯定用过啊,有数据更新时,把缓存清空掉就行了啊,下一次访问的时候服务就会把新值设置到缓存中了。这样不就行了吗?对的,在一般项目中,这样的使用就够了。那么大家看 阅读全文
posted @ 2021-02-20 10:10 牛奔 阅读(389) 评论(0) 推荐(0) 编辑
摘要:前言 在互联网中大型项目中,读写分离应该是我们小伙伴经常听说的,这个主要解决大流量请求时,提高系统的吞吐量。因为绝大部分互联网产品都是读多写少,大部分都是读请求,很小部分是写请求。 上图: 1)一个主库负责写请求,更新数据 2)两个从库负责读请求,可以提高系统吞吐量 3)主库和从库之间同步数据 为什 阅读全文
posted @ 2021-02-20 10:01 牛奔 阅读(1278) 评论(1) 推荐(1) 编辑
摘要:本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内 阅读全文
posted @ 2021-02-20 09:38 牛奔 阅读(108) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们小伙伴应该都听说够消息中间件MQ,如:RabbitMQ,RocketMQ,Kafka等。引入中间件的好处可以起到抗高并发,削峰,业务解耦的作用。 1)订单服务投递消息给MQ中间件 2)物流服务监听MQ中间件消息,从而进行消费 我们这篇文章讨论一下,如何保障订单服务把消息成功投递给MQ中 阅读全文
posted @ 2021-02-20 09:35 牛奔 阅读(156) 评论(0) 推荐(0) 编辑
摘要:WaitGroup 是什么以及它能为我们解决什么问题? WaitGroup在go语言中,用于线程同步,单从字面意思理解,wait等待的意思,group组、团队的意思,WaitGroup就是指等待一组,等待一个系列执行完成后才会继续向下执行。 正常情况下,goroutine的结束过程是不可控制的,我们 阅读全文
posted @ 2021-02-19 11:18 牛奔 阅读(4759) 评论(0) 推荐(0) 编辑
摘要:互联网的核心是一系列协议,总称为“互联网协议”(Internet Protocol Suite),正是这一些协议规定了电脑如何连接和组网。我们理解了这些协议,就理解了互联网的原理。由于这些协议太过庞大和复杂,没有办法在这里一概而全,只能介绍一下我们日常开发中接触较多的几个协议。 互联网分层模型 互联 阅读全文
posted @ 2021-02-12 16:59 牛奔 阅读(554) 评论(0) 推荐(0) 编辑
摘要:使用now函数获取当前时间 Office 2007 Excel使用now函数 首先打开Excel,选中一个要插入日期的单元格 选中后,点击菜单栏上的插入,选择函数 点击后,会出现一个公式生成器,在上面的搜索框输入Now来搜索这个函数 搜索到后,双击这个函数,就会在单元格插入函数了 如果你要插入的日期 阅读全文
posted @ 2021-02-10 13:09 牛奔 阅读(916) 评论(0) 推荐(0) 编辑
摘要:来源 | HelloCoder,作者 | HaC 前一阵子腾讯云搞活动,我买了个轻量级的服务器,部署了自己的网站。 一切都井然有条地进行中。 直到某天清晨,我一如既往地打开我的网站,发现网站竟然打不开了。 于是我进行了一系列的排查。 1、排查日志 第一时间想到的就是登录服务器,查看异常登录的日志。 阅读全文
posted @ 2021-02-04 15:08 牛奔 阅读(839) 评论(0) 推荐(0) 编辑
摘要:延时调用 AfterFunc go function() func function() { // TODO 具体逻辑 // 每5分钟执行一次,递归调用自己 time.AfterFunc(5*time.Minute, function) } 打点器 Tickers package main impo 阅读全文
posted @ 2021-02-03 18:26 牛奔 阅读(1193) 评论(0) 推荐(0) 编辑
摘要:切片是 Go 中的一种基本的数据结构,使用这种结构可以用来管理数据集合。切片的设计想法是由动态数组概念而来,为了开发者可以更加方便的使一个数据结构可以自动增加和减少。但是切片本身并不是动态数据或者数组指针。切片常见的操作有 reslice、append、copy。与此同时,切片还具有可索引,可迭代的 阅读全文
posted @ 2021-02-03 18:13 牛奔 阅读(171) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示