网站首页> 博客> Redis持久化和事务、分布式锁
Redis持久化和事务、分布式锁
1. 设置redis aof持久化。
(1) Redis支持两种持久化方式,默认是开启RDB持久化方式的,我们配置AOF的持久化方式,以redis5.0来配置
(2) redis 默认是关闭AOF持久化模式 appendonly no 要开启把no修改成YES appendfilename
"appendonly.aof" 持久化的文件名称,一般会按照端口来命名
(3) 继续往下看AOF的配置,写入磁盘策略,默认值everysec,每秒写一次,always对硬盘压力大,no对硬盘压力最小,丢失数据风险最大.
(4) no-appendfsync-on-rewrite
是否在后台写时同步单写,默认是no,设置为no时表示新进程set会被阻塞,yes的时候新进程set不会被阻塞,等待后台所有执行完成以后再执行这部分set写入aof文件.
(5) 保存退出重启redis ,查看一下配置
2. rdb和aof的区别是什么?及应用场景
RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。
重点 :redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF持久化(原理是将Reids的操作日志以追加的方式写入文件)。
3.如何实现redis事务?
Redis事务通常会使用MULTI,EXEC,WATCH等命令来完成,redis实现事务实现的机制与常见的关系型数据库有很大的却别,比如redis的事务不支持回滚,事务执行时会阻塞其它客户端的请求执行。redis事务从开始到结束通常会通过三个阶段:
1.事务开始
2.命令入队
3.事务执行
4. 请完成分布式锁操作、防死锁(详情请看文档的伪代码思想)
线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象头,显示锁Lock是共享某个变量(state)。
进程锁:为了控制同一操作系统中多个进程访问某个共享资源,因为进程具有独立性,各个进程无法访问其他进程的资源,因此无法通过synchronized等线程锁实现进程锁。
分布式锁:当多个进程不在同一个系统中,用分布式锁控制多个进程对资源的访问。
- 加入微信群,不定期分享源码和经验

- 签到活跃榜 连续签到送额外金币
- 最新博客
- 校园跑腿系统外卖系统软件平台大学生创业平台搭建 859
- 壹脉销客智能名片CRM系统小程序可二开源码交付部署 883
- 为啥没搞了 1352
- Nginx 的 5 大应用场景,太实用了! 1539
- CentOS 8-stream 安装Postgresql 详细教程 1838
- JAVA智慧校园管理系统小程序源码 电子班牌 Sass 模式 1411
- Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 1188
- Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 1160
- 致远OA权限 1979
- 发博客会有金币吗 1216