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读写分离主从复制
作用:
- 读写分离主从复制:解决服务器的压力
- 容灾备份
如何配置主机和从机,:
- 通过命令的方式,在redis中使用slaveof命令指定 主机是哪台机器
__EOF__
本文作者:Reisen7
本文链接:https://www.cnblogs.com/reisen7/p/18547119.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/reisen7/p/18547119.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?