redis对集合的操作与Redis的持久化
1.对List队列类型的操作
lpush:将一个或多个值value插入到列表key的表头
lpop: 移除并返回列表key的头元素
lrange: 返回列表key中指定区间内的元素,区间以偏移量 start和stop指定
2.对set集合进行操作
sadd key value.....:将一个或多个 member元素加入到集合key当中,已经存在于集合的member元素会被忽略。
spop key :移除并返回集合中的一个随机元素。
smove source destint member:
smembers key:获取指定key下的所有元素
sinter key key ...:求所有集合的交集
3.sortSet有序集合
应用的场景:排行榜
zadd key score value score value....:添加有序集合元素
zrange key start end:获取指定返回的元素
4.Redis的持久化方式
持久化:把内存中的数据库保存到磁盘上。防止数据的丢失。
redis支持的持久化方式两种:
(1)RDB:快照 其实就是把数据以快照的形式保存在磁盘上,什么是快照呢,你可以理解成把当前时刻的数据拍成一张照片保存下来。
(2)AOF:日志追加 记录服务器接受的每个写入操作,当服务器启动时再次加载该日志,会把日志中的命令重新执行一遍。
4.1 如何触发持久化
1.手动save命令
成功后会返回ok
2.手动bgsave
3.通过配置自动触发
通过vi redis.conf 进入配置文件,修改上述图片中的内容
5.文件名字
当我们保存再磁盘上后,会自动生成一个dump.rdb文件
6 rdb的优缺点
优点:
(1)RDB文件紧凑,全量备份,非常适合用于进行备份和灾难恢复。
(2)生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。
(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。
缺点:
快照持久化期间修改的数据不会被保存,可能丢失数据。数据完整性比较差。
7 AOF 默认该模式是关闭的
1.aof的触发方式
修改配置文件内容
2.优缺点
优点:
(1)AOF可以更好的保护数据不丢失,一般AOF会每隔1秒,通过一个后台线程执行一次fsync操作,最多丢失1秒钟的数据。
(2)AOF日志文件没有任何磁盘寻址的开销,写入性能非常高,文件不容易破损。
(3)AOF日志文件即使过大的时候,出现后台重写操作,也不会影响客户端的读写。
缺点:
(1)对于同一份数据来说,AOF日志文件通常比RDB数据快照文件更大.
(2) 恢复数据时时间要比快照模式慢很多。