0%

DNS服务器

DNS(domain name system)是域名系统,属于应用层协议,为主机建立 IP 地址与域名之间的映射关系,使用域名来唯一标识网络中的计算机,其使用的传输层协议为UDP

DNS配置文件

  • /etc/hosts host列表
  • /etc/resolv.conf 配置 DNS 服务器地址
  • /etc/named.caching-nameserver.conf DNS 的主配置文件
  • /etc/named.rfc1912.zones DNS 的区域声明存储配置文件
  • /var/named DNS 数据库存放目录
  • /var/named/chroot/var/named 查询记录数据库存放目录
  • /var/named/chroot/var/named/slaves 辅助 DNS 的数据库目录
阅读全文 »

spring注解整理

@Configuration

使用@Configuration注解来标注的类为配置类,配置类就相当于applicationContext.xml配置文件,可以在配置类中来配置bean

1
2
3
4
5
6
7
8
9
10
11
12
@Configuration
public class MainConfig {

/**
* bean的类型是返回类型,bean的id默认是方法名称
* @return
*/
@Bean
public Person person(){
return new Person("张三",18);
}
}

@Bean

使用@Bean来标注方法以此来进行bean的实例化,bean的类型是返回类型,bean的id默认是方法名称,可以使用@Bean注解来自定义bean的id以及初始化方法、销毁方法

@Bean就是使用注解的方式来替换xml配置bean的方式

阅读全文 »

redis缓存问题

缓存击穿

缓存击穿是指热点key在某个时间点过期的时候,而恰好在这个时间点对这个Key有大量的并发请求过来,从而大量的请求打到db

解决方案:

  • 利用互斥锁,缓存中没有,先获取锁,再去请求数据库,写入缓存,这样后面的数据就可以从缓存中拿到数据了
  • 不对该数据设置过期时间,而是由专门的定时任务从数据库进行读取来更新缓存数据
阅读全文 »

redis配置

注意:我使用的版本是6.0.10,不同版本可能略有差别

redis的配置主要集中在redis.conf文件中,接下来就来看一下redis.conf中包含了哪些内容

INCLUDES模块

该模块下可以使用include来包含其他的redis配置文件,将其他配置文件引入进来

1
2
# include /path/to/local.conf
# include /path/to/other.conf
阅读全文 »

redis集群

注意:我使用的版本是6.0.10,不同版本可能略有差别

redis集群的出现解决了redis在分布式方面的需求(3.0版本出现),而且解决了原本的哨兵模式sentinel无法解决从节点下线的问题。

redis-cluster使用虚拟槽的方式来进行分片,把所有的节点映射到0-16383槽点上,cluster负责维护节点到哈希槽之间的关系,当需要在redis集群中存放键值对时,redis先对key使用crc16算法算出一个结果,然后对16384取余,redis会根据节点数量将哈希槽映射到不同的节点上

阅读全文 »