Redis中的配置文件,数据持久化,事务
有志者,事竟成!如果你在学习数据库,那么本文《Redis中的配置文件,数据持久化,事务》,就很适合你!文章讲解的知识点主要包括事务、redis配置文件、数据持久化,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~
一、配置文件
Redis的配置文件存放在Redis的安装根目录下
Windows 版本的 Redis 是 Microsoft 的开源部门提供的 Redis. 这个版本的 Redis 适合开发人员学习使用,生产环境中使用 Linux 系统上的 Redis;博主直接在本机上安装操作
Windows下是 redis.windows-service.conf;Linux下是 redis.conf
1、Redis 的网络相关配置
(1)bind:绑定IP地址,其它机器可以通过此IP访问Redis,默认绑定127.0.0.1,也可以修改为本机的IP地址
(2)port:配置Redis占用的端口,默认是6379
(3)tcp-keepalive:TCP连接保活策略,可以通过tcp-keepalive配置项来进行设置,单位为秒,假如设置为60秒,则server端会每60秒向连接空闲的客户端发起一次ACK请求,以检查客户端是否已经挂掉,对于无响应的客户端则会关闭其连接
如果设置为0,则不会进行保活检测。
2、Redis的常规配置
(1)loglevel:日志级别,开发阶段可以设置成debug,生产阶段通常设置为notice或者warning
(2)logfile:指定日志文件名,如果不指定,Redis只进行标准输出。要保证日志文件所在的目录必须存在,文件可以不存在。还要在redis启动时指定所使用的配置文件,否则配置不起作用
(3)databases:配置Redis数据库的个数,默认是16个
3、Redis的安全配置
requirepass:配置Redis的访问密码。默认不配置密码,即访问不需要密码验证
此配置项需要在protected-mode=yes时起作用
使用密码登录客户端:redis-cli -h ip -p 6379 -a pwd
二、数据持久化
redis是内存数据库,它把数据存储在内存中,这样在加快读取速度的同时也对数据安全性产生了新的问题,即当redis所在服务器发生宕机后,redis数据库里的所有数据将会全部丢失。
为了解决这个问题,redis提供了持久化功能——RDB和AOF(Append Only File)
1、RDB
RDB(Redis DataBase)是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis重启会通过加载dump.rdb文件来恢复数据
save
- 15分钟内改变了1次
- 或者5分钟内改变了10次
- 或者1分钟内改变了1万次
如果要禁用Redis的持久化功能,则把所有的save配置都注释掉
2、AOF
AOF(Append Only File),Redis 默认不开启。它的出现是为了弥补RDB的不足(数据的不一致性),所以它采用日志的形式来记录每个写操作,并追加到文件中。
Redis 重启会根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。
Redis以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录)
AOF保存的文件是appendonly.aof文件
appendonly
:配置是否开启AOF,yes表示开启,no表示关闭。默认是no。appendfilename
:AOF保存文件名appendfsync
:AOF异步持久化策略
三、事务
事务:把一组数据库命令放在一起执行,保证操作原子性,要么同时成功,要么同时失败。
Redis的事务:允许把一组redis命令放在一起,把命令进行序列化,然后一起执行,保证部分原子性
Redis事务的常用命令:
1、multi
用于标记事务块的开始。Redis会将后续的命令逐个放入队列中,然后才能使用EXEC命令原子化地执行这个命令序列
2、exec
在一个事务中执行所有先前放入队列的命令,然后恢复正常的连接状态。
如果在把命令压入队列的过程中报错,则整个队列中的命令都不会执行,执行结果报错;
如果在压队列的过程中正常,在执行队列中某一个命令报错,则只会影响本条命令的执行结果,其它命令正常运行;
当使用WATCH命令时,只有当受监控的键没有被修改时,EXEC命令才会执行事务中的命令;而一旦执行了exec命令,之前加的所有watch监控全部取消
3、discard
清除所有先前在一个事务中放入队列的命令,并且结束事务。
如果使用了WATCH命令,那么DISCARD命令就会将当前连接监控的所有键取消监控
4、watch
watch key [key …]
当某个事务需要按条件执行时,就要使用这个命令将给定的键设置为受监控的。
如果被监控的key值在本事务外有修改时,则本事务所有指令都不会被执行。
Watch命令相当于关系型数据库中的乐观锁
5、unwatch
清除所有先前为一个事务监控的键。
如果在watch命令之后你调用了EXEC或DISCARD命令,那么就不需要手动调用UNWATCH命令
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持golang学习网。
文中关于redis的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Redis中的配置文件,数据持久化,事务》文章吧,也可关注golang学习网公众号了解相关技术文章。

- 上一篇
- Redis的数据复制过程详解

- 下一篇
- redis实现多级缓存同步方案详解
-
- 安详的花瓣
- 这篇技术贴太及时了,很详细,很有用,已加入收藏夹了,关注up主了!希望up主能多写数据库相关的文章。
- 2023-03-18 16:24:40
-
- 默默的大山
- 写的不错,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢大佬分享文章!
- 2023-02-27 16:24:37
-
- 数据库 · Redis | 29分钟前 |
- Redis性能监控工具有哪些
- 124浏览 收藏
-
- 数据库 · Redis | 1小时前 |
- RedisList队列优化方法分享
- 378浏览 收藏
-
- 数据库 · Redis | 1小时前 |
- Redis位图实现用户签到优化方案
- 322浏览 收藏
-
- 数据库 · Redis | 10小时前 |
- Redis数据安全防护全攻略
- 112浏览 收藏
-
- 数据库 · Redis | 10小时前 |
- Redis哈希技巧与实战应用
- 204浏览 收藏
-
- 数据库 · Redis | 10小时前 |
- 扩展Redis集群节点的步骤与注意事项
- 163浏览 收藏
-
- 数据库 · Redis | 11小时前 |
- 高并发Redis优化技巧分享
- 147浏览 收藏
-
- 数据库 · Redis | 12小时前 |
- Redis主从复制故障排查指南
- 477浏览 收藏
-
- 数据库 · Redis | 15小时前 |
- Redis与HBase存储方案详解
- 414浏览 收藏
-
- 数据库 · Redis | 18小时前 |
- Redis与MongoDB缓存优化方法
- 193浏览 收藏
-
- 数据库 · Redis | 23小时前 |
- Redis安全配置更新操作教程
- 313浏览 收藏
-
- 数据库 · Redis | 1天前 |
- Redis单节点迁移到集群的步骤详解
- 362浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 511次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 498次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 千音漫语
- 千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
- 95次使用
-
- MiniWork
- MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
- 89次使用
-
- NoCode
- NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
- 106次使用
-
- 达医智影
- 达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
- 98次使用
-
- 智慧芽Eureka
- 智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
- 98次使用
-
- MySQL事务处理特性的实现原理
- 2023-01-20 138浏览
-
- Go GORM 事务详细介绍
- 2023-01-07 187浏览
-
- golang gorm错误处理事务以及日志用法示例
- 2023-02-16 412浏览
-
- Spring中的@Transactional注解
- 2023-01-24 448浏览
-
- golang db事务的统一封装的实现
- 2023-01-07 114浏览