Redis 相关知识

Redis的事物

multi命令:开启事物命令,开启后将任务放在队列中

exec:执行命令

discard:回滚

Redis的原子性

事物中执行的命令执行失败,不具备原子性

事物在执行的命令如果有误(语法错误),具备原子性

watch和unwatch关键字用法

当watch了num1就监视了num1的值,在执行事物的命令时,执行前,num1的值发生了改变,则事物取消

保证在事物操作一个key时,key不能被其他事物或客户端修改

watch是基于CAS算法完成的

CAS算法

比较并交换,是一种无锁算法,实现多个线程在操作同一个资源时保持同步性

实现过程:有几个记录值,分别是旧值、新值和更新值,当要开始操作资源时,先在线程的缓存中记录一个旧值,开始对值进行修改记录到更新值中

在java中可以使用atomicInteger来实现CAS算法

Redis的新特性5.0

Redis的stream数据类型,能满足消息队列的全部需求

xread 只读,不消费

RDB备份的工作方式

1.Redis备份时,调用forks启动一个子进程,redis同时拥有父进程和子进程,父进程负责redis的读写工作,子进程负责rdb备份

2.子进程有一个虚拟的内存和父进程共用的实际的虚拟物理内存,在开始备份的这点,子进程虚拟内存的数据就确定了,但父类进程仍然可以进行读写工作,这时候的读写工作不会被备份

AOF方式

备份的不是数据的二进制内容,备份的是每条修改的命令

AOF的缺点

1.AOF文件比RDB文件要大,通常采用文件名滚动的方式来存储,在恢复时比RDB麻烦,

AOF和RDB 的区别

1.AOF的同步性好,可以做到每秒、实施的备份,而RDB是时间极更新数量的触发,同步性差

2.AOF速度比RDB慢,但是AOF存储的数据比较完整

redis读写分离主从复制

作用:

  1. 读写分离主从复制:解决服务器的压力
  2. 容灾备份

如何配置主机和从机,:

  1. 通过命令的方式,在redis中使用slaveof命令指定 主机是哪台机器

__EOF__

本文作者Reisen7
本文链接https://www.cnblogs.com/reisen7/p/18547119.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Reisen7  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示