缓存穿透/击穿/雪崩及其解决方案

1. 缓存的穿透/击穿/雪崩 缓存穿透:缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。 缓存击穿:缓存击穿是指热点key在某个时间点过期的时候,而恰好在这个时间点对这个Key有大量的并发请求过来,从而大量… 阅读更多 »缓存穿透/击穿/雪崩及其解决方案

缓存数据一致性问题(转载)

1. 缓存数据不一致 数据库的瓶颈是大家有目共睹的,高并发的环境下,很容易 I/O 锁死。当务之急,就是把常用的数据,给捞到速度更快的存储里去。 这个更快的存储,就有可能是分布式的,比如 Redis,也有可能是单机的,比如 Caffeine。 但一旦加入缓存,就不得不面对一个蛋疼的问题:数据的一致性。 数据不一致的问题,人世间多… 阅读更多 »缓存数据一致性问题(转载)

github下载慢或报错“The-remote-end-hung-up-unexpectedly”解决办法

  • Git, Others
  • 1,004 clicked

github下载慢或报错“The-remote-end-hung-up-unexpectedly”解决办法:该问题往往因为内部网络限制等因素导致。   因细节更新,欢迎访问本文源站链接:https://turbock79.cn/?p=173。 1.方法一   解决gitbub下载慢问题,可… 阅读更多 »github下载慢或报错“The-remote-end-hung-up-unexpectedly”解决办法

数据同步及锁

  • Basic, Server
  • 178 clicked

1. 数据同步问题 有很多情况下需要考虑线程安全问题,一个全局的变量如果有可能会被多个同时执行的线程去修改,那么对于这个变量的修改就需要有一种机制去保证值的正确性和一致性,这种机制普遍的做法就是加锁。其实也很好理解,和现实中一样,多个人同时修改一个东西,必须有一种机制来把多个人进行排队。计算机的世界中也是如此,多个线程乃至多个进… 阅读更多 »数据同步及锁

编译安装VPP及运行

本文基于VMware虚拟机环境,详细请参考本文源站地址。 操作系统:CentOS7.6 Linux version 3.10.0-957.27.2.el7.x86_64 适用VPP版本:19.08-20.05,本文示例版本19.08 操作用户权限:root 系统驱动如果支持MSI-X,就无法使用驱动uio_pci_generic… 阅读更多 »编译安装VPP及运行

VLAN_GRE_VXLAN三种协议在Linux+Vpp环境的互通

文中三种协议类型,都通过建立veth pair打通Linux和VPP环境。 1. VLAN 1.1. 创建Linux veth pair对进行配置

1.2. linux kernel创建vlan vlan基本介绍 linux网卡的vlan配置 [crayon-61… 阅读更多 »VLAN_GRE_VXLAN三种协议在Linux+Vpp环境的互通

VLAN_GRE_VXLAN基础理解

当前主流的 Overlay 技术主要有VXLAN, GRE/NVGRE和 STT。这三种二层 Overlay 技术,大体思路均是将以太网报文承载到某种隧道层面,差异性在于选择和构造隧道的不同,而底层均是 IP 转发。如下表所示为这三种技术关键特性的比较。其中VXLAN利用了现有通用的UDP传输,其成熟性高。总体比较,VLXAN技… 阅读更多 »VLAN_GRE_VXLAN基础理解

Golang类继承

1. 继承和组合的区别 继承 如果一个struct嵌套了另一个匿名结构体,那么这个结构可以直接访问匿名结构体的方法,从而实现继承 组合 如果一个struct嵌套了另一个【有名】的结构体,那么这个模式叫做组合 多重继承 如果一个struct嵌套了多个匿名结构体,那么这个结构可以直接访问多个匿名结构体的方法,从而实现多重继承 2. … 阅读更多 »Golang类继承

Golang sync中map和once

1. sync.Once介绍 Go语言中的sync包中提供了一个针对只执行一次场景的解决方案–sync.Once。 1.1. 函数格式 sync.Once只有一个Do方法,其格式如下:

1.2. 示例及解释 这里通过定义变量var once sync.Once让其… 阅读更多 »Golang sync中map和once

二三层转发原理及过程总结

1. 基本概念   首先二层转发是基于MAC地址转发,三层转发基于IP地址转发,但是这并不意味着仅仅依靠IP地址就能转发,三层转发是建立在二层的基础上的,而仅仅依靠MAC地址是能够转发的。   另外,由于二三层转发基于MAC地址、IP地址、FDB表(MAC地址学习、更新、老化、删除等)、A… 阅读更多 »二三层转发原理及过程总结

Golang正则库使用

1. Golang基础正则库 Go语言中使用正则校验需要用到 regexp 包 1.1. 使用MatchString函数 基础函数

用例

1.2. 使用Compile函数或MustCompile函数… 阅读更多 »Golang正则库使用