Redis概述
Posted Zz_maker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis概述相关的知识,希望对你有一定的参考价值。
redis:
定义:是用C语言开发的、开源的、高性能的键值对数据库,通过提供多种键值数据类型,来适应不同场景下的存储需求
支持的数据类型:字符串、列表、集合、有序集合、散列
速度:读的速度每秒11万次,写的速度每秒8万一千次
应用场景:缓存、聊天室的在线好友列表、任务队列(秒杀、抢购)、网站访问统计、数据过期处理、应用排行榜、分布式集群架构的session分离
redis特性
1.多数据库:一个redis可支持16个数据库,下标分别是0~15
2.支持事务:开启事务multi;提交exec;回滚discard
redis持久化
定义
redis的高性能是因为所有的数据都存储在了内存中,为了保证数据不丢失需要将内存中的数据同步到硬盘上,这个过程为持久化操作持久化方式
RDB:是默认支持的,不需要进行配置,在指定的时间间隔内将内存中的数据及快照写入磁盘。 一般应用在备份数据上。
AOF:以日志的形式记录服务器所处理的每个操作,在Redis服务器启动时会读取该日志文件来重新构建数据库,保证启动后的数据是完整的。 一般应用 在保证数据可靠性。
无持久化:可以通过配置来禁用Redis持久化的功能,这时可以认为Redis就是一个缓存的机制了。
RDB
优势:
1.redis数据库只包含一个文件,对于文件备份而言是非常完美的,一旦系统出现灾难性的故障是比较方便恢复的,定时配置。
2.可以将一个单独的文件压缩后转移到其他存储介质上 。如:拷贝到其他地方,恢复时使用就好。
3.性能最大化,redis开始持久化时,分叉出进程,由子进程完成持久化的工作
4.数据量很大时启动效率会很高
劣势
1.保证数据的高可用性,最大限度的避免数据的丢失,不建议使用RDB,定时持久化之前可能出现宕机的情况
2.子进程进行数据持久化,数据量非常庞大时,会出现服务器短暂的停止
配置
redis.conf
每多少秒有多少个key发生变化,进行一次持久化
AOF
优势:
1.安全
同步:
a.每秒同步:异步完成,效率高,一旦系统宕机,修改的数据丢失
b.每修改同步:同步持久化,每分钟发生的变化记录到磁盘中,效率低,安全
c.不同步
2.写入操作采用的是追加模式,出现宕机可以解决数据一致性的问题
3.日志过大,自动启动重写机制,不断将修改数据写入老的磁盘文件中,同时创建新的文件记录那些修改命令被执行了
4.非常清晰易于理解的日志文件记录所有修改操作
劣势
1.相同数量的数据集文件大
2.运行效率低于RDB
配置
appendonly yes 持久化方式为AOF,no持久化方式为RDB
appendonly.aof AOF方式下的命令日志
以上是关于Redis概述的主要内容,如果未能解决你的问题,请参考以下文章