always,每修改一次执行保存,
everysec,每秒执行保存,
no,不执行保存
aof持久化
每秒同步。异步
每修改同步,最安全
日志文件append追加,不破坏之前的日志文件
文件过大,重写机制
格式清晰的日志文件,修改操作
aof比rdb文件大。
变成yes
重启:
删除删除数据库命令,还原根据文件
只包含一个文件
性能最大化
比aof启动效率高,数据量大的时候
劣势:
数据可能丢失,子进程写数据,停几百毫秒
持久化。
事务
特性
16个数据库,0-15
通用操作
使用场景
sorted_set存储
set存储使用场景
测试
set存
rpoplpush使用场景
常用命令
list常用命令
list存储
hash结构
Redis的数据结构
连接池。redis
redis启动
redis场景
优缺点
四大分类
为什么使用nosql
Jedis是Redis的连接的一个基本操作
使用redis-cli shutdown 关闭redis-server
AOF持久化(每修改持久化):
优势:
带来更高的数据安全性
日志为append形式
日志过大,redis自动启动重写机制
格式清晰,日志文件容易理解,有助于完成数据重建
劣势:
文件大
运行效率低
配置:
redis.conf
appendonly yes
appendSync always(每修改一次就写入到硬盘中)
重启redis
flushall 清空数据库
RDB持久化
优势:
1、只包含一个文件,文件备份策略定期配置,恢复系统灾难故障快
2、转义至其他介质方便
3、性能最大化,redis开始持久化的时候,只是分叉出新的进程,由子进程完成持久化工作,避免服务器进程完成I/O操作,启动效率高
劣势:
1、无法实现数据高可用(系统在定时任务之前宕机,数据容易丢失)
2、通过fock分叉子进程完成工作,数据集大的时候,服务器需要停止几百毫秒甚至1秒
配置:
1、redis.conf 默认dbfilename dump.rdb存储文件
redis的 持久化:
如何保证重启数据不丢失
两种持久化方式:
RDB持久化:在指定的时间间隔内 将数据写入磁盘
AOF持久化:以日志的方式,记录服务器所处理的每一个操作,在redis启动的时候会读取该文件,来重新构建数据库,保证启动后数据库中的数据是完整的
无持久化:通过配置禁用redis持久化的功能,这样redis只是一个缓存的工具
相关特性:
多数据库 :0到15个数据库,与mysql类似,默认存储第0个
move name 1 #将name移动至1数据库
支持事务
multi设置事务 后面的事件都存储到队列中
exec 提交
discard回滚