您的位置:首页 > 汽车 > 时评 > redis 一些笔记1

redis 一些笔记1

2024/11/17 19:42:06 来源:https://blog.csdn.net/qq_45906101/article/details/139574408  浏览:    关键词:redis 一些笔记1

redis

  • 一、redis事务
  • 二、管道
    • 2.1 事务与管道的区别
  • 三、主从复制
    • 3.1
    • 3.2 权限细节
    • 3.3 基本操作命令
    • 3.4 常用
      • 3.4.1 一主几从
      • 3.4.2 薪火相传
      • 3.4.3 反客为主
    • 3.5 步骤
    • 3.6 缺点


一、redis事务

放在一个队列里,依次执行,并不保证一致性。与mysql事务不同。
命令:
1、MULTI
2、EXEC
3、DISCARD
4、WATCH
5、UNWATCH
正常执行
在这里插入图片描述

放弃事务
在这里插入图片描述

全体连坐 编译错误 都不执行
在这里插入图片描述

冤头债主 错误的不执行 正确的执行
在这里插入图片描述

监控 监控就有sql事务的意思了,如果监控的值改变了,则所有都不执行在这里插入图片描述

在这里插入图片描述

二、管道

2.1 事务与管道的区别

原子性:事务保证所有命令的原子性,要么全部执行,要么全部放弃。管道不保证原子性,每个命令独立执行。
错误处理:事务中如果存在语法错误,整个事务会失败。管道中如果存在语法错误,只有该命令会返回错误,其它命令仍会执行
使用场景:事务适用于需要原子性保证的操作场景,管道适用于批量发送命令以减少网络延迟的场景。

这里事务具有原子性…??redis事务并不具有原子性啊,一条语句失败(运行时错误)并不影响其他的执行。 待考究…

但是知道应用就行,它们的设计目标和使用场景不同:事务更多用于需要保证顺序执行的场景,而管道则用于提高性能、减少网络延迟的场景。

事务中的操作并不是一起传输到服务器,但是管道中的操作是这样。

三、主从复制

3.1

只有一台机的话,读写性能不好,压力大。
可以使用主从复制,主机做写操作,从机做读操作。减轻主机的读压力。
配从不配主
master以写为主,slave以读为主
当master数据变化时,自动将新的数据异步同步到其他slave数据库。

3.2 权限细节

master如果配置了 requirepass 参数,需要密码登录
slave 需要配置 masterauth来设置检验密码,否则的话master会拒绝slave的访问请求

3.3 基本操作命令

info replication   查看复制节点的主从关系和配置信息replicaof 主库IP 主库端口  一般写入进redis.conf配置文件内,在运行期间修改slave节点的信息,如果该数据库已经某个数据库的从数据库,那么会停止和原主数据库的同步关系转而和新的主数据库同步slaveof 主库IP 主库端口  一般在命令行执行。slaveof no one      使当前数据库停止与其他数据库的同步,升级为主数据库

3.4 常用

3.4.1 一主几从

在这里插入图片描述

从机 一定要加上 -p 端口号 不然就是默认6397.

在这里插入图片描述
答案:
1 从机不可以执行写命令。
2 主机先开启并且已经有数据了,这时候从机才连上,不要紧,从机会有一个主机的完整快照,以便与主机数据一致,并且从机如果原始有数据的话,会被主机的内容覆盖掉。
3 从机不会上位,只会原地听命。
4 主机shutdown之后,,重启后主从关系依然在,从机也能够顺利复制。
5 可以
但是这都是建立在是在配置文件中写死了主从关系的,如果使用slaveof 主库IP 主库端口 一般在命令行执行 在命令行执行的话,从机shutdown之后,主从关系就没有了。

3.4.2 薪火相传

一主几从的话,主机需要传相同的内容给不同的从机,也会影响主机性能。
在这里插入图片描述
在这里插入图片描述

由于192.168.111.172仍然是一个从机,所以还是只能读,不能写。

3.4.3 反客为主

谁也不依附,自己变为master,之前的数据仍然存在。
在这里插入图片描述

3.5 步骤

在这里插入图片描述
在这里插入图片描述

3.6 缺点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com