01 2022 档案
leetcode-存在重复元素
摘要:一、题干 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 二、题解 Set无序无重复,利用Set去重屡试不爽 package com.hsp.baselearn.leetcode; import java.util
深入理解登录机制---初识
摘要:一、从单体应用到分布式系统到微服务(登录解决方案) 1、单体应用 单体应用,用户登录认证完(前端的账号密码加密和库里的加密做对比),将用户信息存session里面,然后TOMCAT向客户端发送一个JSESSIONID 来记录此次会话,此后每次请求都会将JSESSIONID 发送给后台,然后拿到此次会
[ERR] Node 192.168.117.134:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
摘要:1、问题描述:redis 集群启动报错 2、解决方案 重启 在redis src 目录下执行 redis-cli --cluster create --cluster-replicas 1 192.168.117.134:6379 192.168.117.134:6380 192.168.117.1
Redis从入门到精通-redis-哨兵模式(sentinel)
摘要:一、是什么 反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库 二、怎么玩(使用步骤) 1、调整为一主二仆模式,6379带着6380、6381 2、自定义的/myredis目录下新建sentinel.conf文件,名字绝不能错 vi sentinel.conf 3、
Redis从入门到精通-Redis-主从复制-薪火相传和反客为主
摘要:一、薪火相传 上一个Slave可以是下一个slave的Master,Slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个的master, 可以有效减轻master的写压力,去中心化降低风险。 用命令: slaveof <ip><port> 中途变更转向:会清除之
Redis从入门到精通-Redis-主从复制-复制原理一主二仆
摘要:一、一主二仆,宕机情况分析 1、从机挂掉的情况 启动三个redis服务 手动关掉其中一台:主机存值正常,从机取值正常 重启停到的那一台:发现从服务器重启后并不能变成从服务器,而是变成单独的主服务器 通过命令让刚刚重启的服务器变成从服务器:发现能读到之前从服务器挂掉后主机存的数据,即主服务器里有什么数
Redis从入门到精通-Redis-主从复制-搭建一主多从
摘要:一、是什么 主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 二、能干嘛 读写分离,性能扩展 容灾快速恢复 三、怎么玩:主从复制 1、复制公共的redis.conf(就是原来的redis.conf) cp /etc/redis.c
Redis从入门到精通-Redis-事物和锁机制-解决库存遗留问题
摘要:一、什么是库存遗留问题 ab命令:模拟2000个请求 300个并发 ab -n 2000 -c 300 -k -p /ab/postfile -T application/x-www-form-urlencoded http://192.168.10.1:8080/Seckill/doseckill
Redis从入门到精通-Redis-事物和锁机制-超时和超卖问题解决
摘要:一、超卖问题 二、利用乐观锁淘汰用户,解决超卖问题。 三、代码 package com.atguigu; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedi
Redis从入门到精通-Redis-事物和锁机制-秒杀案例-ab测试工具模拟并发
摘要:一、安装ab测试工具 1、有网情况 yum install httpd-tools 2、无网情况 cd /run/media/root/CentOS 7 x86_64/Packages # 进入目录(路径跟centos6不同) #顺序安装 apr-1.4.8-3.el7.x86_64.rpm apr
Redis从入门到精通-Redis-事物和锁机制-秒杀案例-基本实现
摘要:一、需求 某个产品设置库存时,用户在前端页面点击秒杀按钮,库存数减一。 二、后台逻辑 1、用户id和产品id非空判断 2、连接redis3、拼接相关key,库存key 秒杀成功用户key 4、获取库存,如果库存为null则秒杀还未开始 5、通过用户key取val 判断用户操作是否重复秒杀 6、判断如
Redis从入门到精通-Redis-持久化之AOF
摘要:一、AOF(Append Only File) 1、是什么 以日志的形式来记录每个写操作(增量保存),将Redis执行过的所有写指令记录下来(读操作不记录), 只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis 重启的话就根据日志文件的内容将写指令从前到后执
Redis从入门到精通-Redis-持久化操作-RDB
摘要:一、总体介绍 官网介绍:http://www.redis.io Redis 提供了2个不同形式的持久化方式。 RDB(Redis DataBase) AOF(Append Of File) 二、RDB(Redis DataBase) 1、官网介绍 2、是什么 在指定的时间间隔内将内存中的数据集快照写
分表分库-Sharding-JDBC-入门案例
摘要:1、需求描述 使用Sharding-JDBC实现电商平台的商品列表展示,每个列表项中除了包含商品基本信息、商品描述信 息之外,还包括了商品所属的店铺信息,如下所示: 2、开发环境 数据库:MySQL-5.7.25 JDK:1.8.0_201 应用框架:spring-boot-2.1.3.RELEAS
分库分表-Sharding-JDBC
摘要:1 概览 Sharding-JDBC是当当网研发的开源分布式数据库中间件。从 3.0 开始,Sharding-JDBC更名为 Sharding-Sphere,之后该项目进入Apache孵化器,4.0之后的版本为Apache版本。 ShardingSphere是一套开源的分布式数据库中间件解决方案组成
Docker高阶篇-Mysql 主从复制
摘要:1 主Mysql(master) 一、新建主服务器容器实例3307 docker run --restart=always -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /myda
Redis从入门到精通-事物和锁机制-演示乐观锁和事物特性
摘要:1、使用WATCH key [key ...]命令 在执行multi之前,先执行watch key1 [key2],可以监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。 案例: 图一先执行,此时key balance的 key 版本 号被修
Redis从入门到精通-事物和锁机制-事物冲突(乐观锁和悲观锁)
摘要:1、事务冲突的问题 想想一个场景:有很多人有你的账户,同时去参加双十一抢购 一个请求想给金额减8000 一个请求想给金额减5000 一个请求想给金额减1000 2、悲观锁 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都
Redis从入门到精通-事物和锁机制-基本操作
摘要:1、Redis的事务定义 Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis事务的主要作用就是串联多个命令防止别的命令插队。 2、Multi、Exec、discard 从输入Multi命令开始,输入的
Redis从入门到精通-SpringBoot快速整合Redis
摘要:本次整合 SpringBoot 版本为 <version>2.2.1.RELEASE</version> 1、在pom.xml文件中引入redis相关依赖 <!-- redis --> <dependency> <groupId>org.springframework.boot</groupId>
Redis从入门到精通-手机验证码
摘要:一、业务场景,需求 用户在手机端点击获取短信验证码,且用户一个手机号每天只能发三次短信,手机端接收到6位验证码,进行比较。 二、实现 1、6位随机数工具类 2、2个key 一个用来设置 1天时间,校验该手机号发送几次,一个key存验证码 三、代码 package com.mangoubiubiu;
Redis从入门到精通-Redis_Jedis_测试
摘要:一、Jedis所需要的jar包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version> </dependency> 二、连接Redis注意事项 禁用Li
Redis从入门到精通-Redis新数据类型
摘要:一、Bitmaps 现代计算机用二进制(位)作为信息的基础单位, 1个字节等于8位, 例如“abc”字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, “abc”分别对应的ASCII码分别是97、98、99,对应的二进制分别是01100001、 01100010和01100011,如下
分库分表-基本概念
摘要:1 概述 1.1 为什么分库分表 以MySQL为例,单库数据量在5000万以内性能比较好,超过阈值后性能会随 着数据量的增大而明显降低。单表的数据量超过1000w,性能也会下降严重。这就会导致查询一次所花 的时间变长,并发操作达到一定量时可能会卡死,甚至把系统给拖垮,因此需要解决这 个性能瓶颈问题。
Docker-compose 安装 RocketMq
摘要:1 参考链接 https://www.jianshu.com/p/706588323276 2 docker-compose 的安装 https://www.cnblogs.com/mangoubiubiu/p/15236179.html 3 rockermq 的docker-compose.yml