Redis_事务+lua脚本_持久化策略
Redis_事务+lua脚本
正常关系型数据库 执行事务的时候 都是遵守ACID模式-要么都执行-要么都失败
Redis的事务为了简单化,:提交失败-没有回滚,提交了就提交了-所以也就代表着没有锁,在更新的时候,其他程序改动了里面的值,redis提交也算成功
简单使用方法:如果要使用redis事务,则需要和Watch方法一起使用,而且是要监听,所有需要改动的Key
秒杀案列:lua脚本 如下
Redis_持久化-把内存数据变成为硬盘数据
两种持久化形式:
rdb,(拍快照)-每次都是全量的备份 redis 默认开启rdb 备份慢,服务重启之后加载数据慢=快
AOF(日志)-在之前的基础上追加 手动开启AOF 备份快,服务重启之后加载数据慢。
但是redis看场景使用持久化,做缓存就不建议使用持久化,因为持久化必然要开启aof记录操作日志(影响性能)
4.x以前的redis 重启之后只会读取AOF内容,4.x之后, 默认开启 aof+rdb模式 Aof的数据很大到达阈值就转成1个rdb,然后重新追加 又是AOF
假如重启服务器缓存没了呢?可以使用主从模式 AOP三种追加形式
手动备份策略
1.save:阻塞线程,备份大量的线程的时候 耗时长(将内存数据镜像保存为rdb文件,由于Redis是单线程模型,期间会阻塞redis的服务进程,就不再处理其他指令),其他客户端发送指令过来就会卡住
2.bgsave:后台专门有1个线程专门备份的。底层原理:有1给定时器 不停的计算1个阈值(根据配置文件里面的条件判断)。每一次bgsave之后,计数器就清零
AOF重写问题?
如果文件越来越多.当数据文件到达一个阈值的时候,文件会继续重写,变成1个小的文件
本文来自博客园,作者:12不懂3,转载请注明原文链接:https://www.cnblogs.com/LZXX/p/16324552.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY