08 2022 档案
摘要:概述 单机架构下,一个进程中的多个线程竞争同一共享资源时,通常使用 JVM 级别的锁即可保证互斥,以对商品下单并扣库存为例: public String deductStock() { synchronized (this){ // 获取库存值 int stock = Integer.parseIn
阅读全文
摘要:概述 Redis 在 3.0 之后开始支持 Cluster(集群)模式,特点如下: 支持节点的自动发现:可向集群动态添加节点,并自动融入 支持 slave-master 选举和容错:多个 master 宕机后,选举出新的 master 继续工作 在线分片:当有新的节点加入时,为新节点分配 slot
阅读全文
摘要:概述 由一个或多个 Sentinel(哨兵)实例组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器 简单来说,哨兵就是带有自动故障转移功能的主从架构 搭建哨兵架构 以
阅读全文
摘要:概述 主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器,前者称为主节点,后者称为从节点 一个主节点可以有零个或多个从节点,但每个从节点只能有一个主节点 数据的复制是单向的,只能由主节点复制到从节点 从节点仅仅用来同步数据,不能用于顶替宕机的主节点 主从服务器之间采用的
阅读全文
摘要:Jedis 1. 概述 Jedis 是一款使用 Java 操作 Redis 的工具,有点类似于 JDBC 2. 引入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9
阅读全文
摘要:概述 Redis 官方提供了两种不同的持久化方法来将数据存储到硬盘,分别是: 快照(Snapshot) AOF(Append Only File)只追加日志文件 默认开启快照,同时启用两种持久化方式时,优先 AOF 快照(Snapshot) 这种方式可以将某一时刻的所有数据都写入硬盘,保存的文件以
阅读全文
摘要:NoSQL 1. 定义 NoSQL(Not Only SQL)即不仅仅是 SQL,泛指非关系型的数据库 2. 为什么使用 NoSQL? 传统关系数据库在应付动态网站、特别是超大规模和高并发的纯动态网站已经显得力不从心了,如商品网站中对商品数据的频繁查询、热搜商品的排行统计、订单超时问题。虽然能实现功
阅读全文