课程名称:Redis入门
课程章节:
第7章 Redis的通用命令
第8章 Redis的事务
第9章 Redis的持久化
主讲老师:悟空
课程内容:
redis的命令、事务以及持久化
课程收获:
1、Keys通用操作
keys *:查询所有key
keys str? :查询以字符串str开头的key
del key1 key2 key3 ... :删除多个key
exists key:判断key是否存在,存在返回1不存在返回0
rename key newkey :对key进行重命名
expire key times(秒) :设置过期的时间
ttl key:查看key所剩的时间,若没有设置,则返回-1
type key :获取指定key的类型
2、Redis的特性
(1)每个Redis实例有16个数据库,角标从0~15,默认为0,也可以通过select来选择数据库。比如:
select 1,选择1号数据库 move用于移动数据库。比如:move myset 1,表示移动myset这个key到1号数据库。
(2)开启事务会将任务放到queue中,当提交事务时逐个执行 命令:
切换数据库:select [0~15]
开启事务:multi
提交事务:exec
回滚事务:discard
3、持久化
Redis持久化 数据从内存同步到硬盘
两种持久化方式: RDB方式 AOF方式
持久化使用的方式:
1.RDB方式: 默认支持,在指定的时间间隔内,将内存中的数据集快照写入到磁盘
优势:
1.数据库只包含一个文件,通过文件备份策略,定期配置,恢复系统灾难
2.压缩文件转移到其他介质上
3.性能最大化,redis开始持久化时,分叉出进程,由子进程完成持久化的工作 ,避免服务器进程执行I/O操作,启动效率高
劣势:
1.无法高可用:系统一定在定时持久化之前宕机,数据还没写入,数据已经丢失
2.通过fock分叉子进程完成工作,数据集大的时候,服务器需要停止几百毫秒甚至1秒
配置: cd /usr/local/redis vim redis.conf
默认:
save 900 1 #每900秒至少1个key变化,持久化一次,到内存一个快照
save 300 10 #每300秒至少10个key变化,往硬盘写一次
save 60 10000 #每60秒至少10000个key变化,写一次
dbfilename dump.rdb #数据的文件名 dir ./ #保存的路径,redis路径下
2.AOF方式: 日志的形式记录服务器处理的每一个操作,服务器启动之初,读取文件,重新构建数据库
优点:
(1)同步写入频率高
(2)不破坏写入日志数据
(3)当数据过大,可启动修改重写机制,保证修改数据的更新
(4)日志文件格式清晰,便于重建数据
缺点:
(1)效率低
(2)文件偏大于rdb文件 配置过程:
编辑redis.conf:vim redis.conf
找到 appendonly no
修改为 yes
修改策略
3.无持久化 通过配置继用Redis持久化功能,Redis缓存机制
4.同时使用RDB和AOF