- 博客(11)
- 收藏
- 关注
原创 哨兵模式,反客为主的自动版
1. 什么是哨兵模式?反客为主的自动版,能够后台监控主机是否故障,如果故障了能根据投票数自动将库转换为主库2. 怎么实现?(1)首先预置一主二仆的场景(2)新建 sentinel.conf 文件,名字绝不能错!将下面的命令写入该文件(3)sentinel monitor mymaster 127.0.0.1 6379 1其中,mymaster 是监控对象起的服务器名称,1 表示有多少个哨兵同意迁移的数量(4)启动哨兵redis-sentinel ./sentinel.conf3. 主机挂掉重启后会自动变成从
2022-06-17 17:26:30 126 1
原创 主从复制相关
1. 什么是主从复制?主机数据更新后,根据配置和策略,自动同步到备机的 master/slave 机制,master以写为主,slave以读为主2. 主从复制特点(1)读写分离(2)容灾快速恢复3. 主从复制【一主多从】,只能有一台主服务器,从服务器一般是多台,但主服务器只能有一台因为,如果有多个主服务器,从服务器不知道从哪个主服务器同步数据,因为不同的主服务器可能数据不同4. 如何实现一主两从(配置)(1)首先,复制一个 redis.conf 文件(2)配置一主两从:需要创建三个配置文件:redis637
2022-06-17 16:45:29 133
原创 持久化操作AOF
1. AOF 是什么?Append only File,是以日志的形式来记录每个写操作(增量保存),将 redis 执行过的所有写指令记录下来(读指令不记录),只能追加文件,不可以改写文件。redis 启动之初会读取该文件重新构建数据,即,redis 重启就根据日志文件内容将写指令从前到后执行一次以完成数据恢复2. Redis 中 RDB 默认开启,但是 AOF 默认不开启在 redis.conf 中,appendonly 参数 默认 no,可改为 yes 打开,文件名为 appendonly.aof文件路
2022-06-13 20:50:44 113
原创 持久化操作RDB
1. 什么是 RDB ?RDB 即 Redis DataBase,指在指定的时间间隔内,将内存中的数据集快照写入磁盘redis 会单独创建(fork)一个子进程进行持久化,会先将数据写入一个临时文件,待持久化都结束,再用此临时文件替换上次持久化好的文件(持久化文件默认叫 dump.rdb),整个过程中,主进程不进行任何 IO 操作,这确保了极高的性能若需要进行大规模数据恢复,且对于数据恢复的完整性不敏感,则 RDB 的方式比 AOF 更高效缺点:最后一次持久化的数据可能丢失2. 什么是 fork?fork
2022-06-13 20:19:24 134
原创 事务和锁机制--演示乐观锁和事务特性
1. watch key在执行 multi 之前,先执行 watch key1 [key2] (可监视一个或多个key)如果在事务执行之前,这个(些)key 被其他命令改动,那么事务会被打断# 终端1set key1 100# 终端2multiincrby key1 10# 终端1multiincrby key1 20exec========== 这里能成功# 终端2exec========== 失败(版本号改变)...
2022-05-26 14:08:36 54
原创 Redis事务和锁机制--事务冲突(悲观锁和乐观锁)
乐观锁比较适用于读多写少的情况(多读场景),悲观锁比较适用于写多读少的情况(多写场景)。1. 悲观锁当要对数据库中的某条数据进行修改时,为了防止并发,需要在修改操作执行前对该数据上锁,以防止其他任务修改数据。这种借助数据库锁机制,在修改前先锁定再修改的方式被称为悲观并发控制(悲观锁)悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。之所以叫悲观锁,是它总假设最坏的情况,每
2022-05-26 11:50:18 348
原创 redis 事务和锁机制--基本操作
1. Redis 事务是个单独的隔离操作,执行过程中不会被其他客户端发来的请求指令打断2. multi,exec,discard(1)multi 开启事务,将命令组队放到事务中(2)exec 执行事务(3)discard 在组队的过程中,希望放弃组队举例# 组队到执行multisetkey1 value1set key2 value2exec# 组队到放弃multisetkey1 value1set key2 value2discard在组队中..
2022-05-26 09:43:35 80
原创 redis相关知识介绍
1. Redis 的默认 6379 端口是怎么来的?merz 对应手机键盘的 6379,女演员 Alessia Merz 的名字Redis 默认 16 个数据库,类似数组下标从 0 开始(0~15),初始默认使用 0 号库,其他库基本使用不到,密码都是相同的鉴权:auth root1232. memcached VS redismemcached,支持的数据类型较为单一,redis支持类型较多;memcached 不支持持久化操作,只能在内存中存储,但redis可以;memcac
2022-03-22 15:28:11 666
原创 nginx原理解析
1. master & worker2. worker 是如何进行工作的?当请求下发至master后,worker通过“争抢”的机制获取任务去处理3. 一个master和多个worker有哪些好处?(1)可以使用热部署:./nginx -s reload,假如 worker1 已争抢到任务后,热部署后,worker1不参与争抢,剩下的 worker2等才会争抢(2)每个worker都是独立进程,不需要加锁,减少开销;另外如果某个worker挂了,其他worker会顶上继续争抢
2022-03-09 15:37:49 200
原创 nginx高可用集群
1. 什么是nginx高可用?之前提及,如果 Tomcat宕机,则会被自动剔除,但是如果nginx 宕机了怎么办?---> nginx 宕机请求无法实现效果解决方法将nginx配置成高可用(配置多台nginx)当前有两台nginx服务器,但是他们的 ip 不同,这样不好提供给客户端,于是会使用一个虚拟 ip,比如 192.168.0.105,作为暴露给客户端的 ip 去访问当主服务器挂了之后,会自动切换到备用服务器代替主服务器工作当中使用到一个keepaliv.
2022-03-09 14:58:51 900
原创 nginx动静分离
1. 什么是动静分离?通过nginx将动态请求和静态请求分开,可以理解为nginx处理静态页面,Tomcat处理动态页面;而不是物理分隔动态页面和静态页面client 动态请求 <--> nginx <--> tomcat <--> dbclient 静态请求 <--> nginx <--> 静态资源服务器(如 html,css,image等)2. 动静分离的实现(大致分为两种)(1)纯粹的静态文件独立成单独的域名,放在独立的静
2022-03-09 09:55:22 722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人