11 2020 档案
摘要:工作中做的所有项目都用到了redis,对其设计思路和问题处理做个总结。 key设计:可读性高,定义简洁,不包含特殊字符,一般使用:分隔,比如user:info:1000001,表示id为1000001的缓存key value设计:字符串不宜过长,字符串最大是512M,一般来说超过10k我们就认为他是
阅读全文
摘要:Zookeeper的使用典型场景之一:分布式锁 使用zk的分布式锁,无非是通过zk的两大特性:节点和事件监听 互斥锁: 1)创建临时顺序节点 2)判断是否是临时顺序节点最小的,如果是,直接获得锁,如果不是,对之前的一个节点进行监听 3)获得锁,处理业务逻辑,释放锁,即delete节点,监听当前节点的
阅读全文
摘要:AQS:AbstractQueuedSynchronizer,是一个依赖状态的同步器,定义了一套多线程访问共享资源的同步器框架。对于等待队列、条件队列、独占共享等行为进行一系列抽象。 ReentrantLock是一种基于AQS框架的实现,作用类似于synchronized,是一种互斥锁,且它具有比s
阅读全文
摘要:Zookeeper提供了ACL(Access Control List)权限控制。 使用权限控制,可以控制节点的操作权限,保证安全性。 权限设置:将权限模式、授权对象、权限信息组成一条"scheme:id:permission"格式的ACL请求信息。 权限模式(Scheme): 1)World模式,
阅读全文
摘要:zk是使用java语言开发的,需要先配置java环境,不做赘述。 一、下载解压 cd /usr/local wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.g
阅读全文
摘要:redis集群是由多个主从节点群组成的分布式集群。这种集群没有中心节点,可水平扩展,官方文档描述可以扩展到上万个节点。对比哨兵模式,redis集群性能和高可用性更优。 集群搭建:redis集群需要至少三个master节点,这和redis集群选举机制有关,至少三个主节点才能保证有主节点挂掉的情况下选举
阅读全文
摘要:redis在生产环境为了保持高可用,通常有几种方式:主从、哨兵和集群,主从是基础中的基础,哨兵是特殊的redis服务,用来监控redis实例节点。 在哨兵架构下,客户端第一次访问时通过哨兵找到主节点,后续就会直接访问主节点,当主节点发生变化时,哨兵会第一时间感知到,并且第一时间通知给客户端。 准备工
阅读全文
摘要:在服务器上,安装了redis且启动,使用默认的6379端口,但是外网无法连接,telnet ip 6379不通。 首先看云服务器安全组规则,6379是否允许访问。 保险起见同时在服务器上关闭了防火墙和iptables服务 systemctl stop firewalld service iptabl
阅读全文
摘要:redis主从工作原理: 全量数据复制:salve启动时,会和主节点建立长连接,向主节点发送一个psync的命令,请求复制数据。master收到命令,会通过bgsave生成当前数据的RDB快照,将数据发送给slave,slave会清空老数据并且加载master发送来的RDB数据。在这期间客户端可能又
阅读全文
摘要:redis启动之后,redis会将数据load到内存中,之后的运算都在内存中进行,这是redis速度很快的最主要原因。 redis提供了两种持久化的方式:RDB和AOF。 一、RDB快照 默认情况下,redis将内存中的数据保存在dump.rdb的二进制文件中。 查看配置文件 # save 900
阅读全文

浙公网安备 33010602011771号