A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yonghuming 初级黑马   /  2017-8-30 18:25  /  1820 人查看  /  1 人回复  /   3 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是Redis?
       Redis是一个基于内存的高性能 key-value 数据库。
Redis特点
       (1)Redis 本质上是一个Key-Value 类型的内存数据库,整个数据库都加载在内存当中进行操作,定期通过异步操作把数据库数据持久化到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10 万次读写操作。
(2)Redis 支持保存多种数据结构,此外单个 value 的最大限制是 1GB,不像memcached
只能保存 1MB 的数据,因此Redis 可以用来实现很多有用的功能。
(3)Redis 的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读
写,因此 Redis 适合的场景主要局限在较小数据量的高性能操作和运算上。
Redis 常见的性能问题有哪些?
       1)写内存快照:当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以主服
务器最好不要写内存快照
(2)AOF 持久化:如果不重写 AOF 文件,这个持久化方式对性能的影响是最小的,但是
AOF 文件会不断增大,AOF 文件过大会影响主服务器重启的恢复速度。主服务器最好不要做任何持久化工作,包括内存快照和 AOF 日志文件,特别是不要启用内存快照做持久化,如果数据比较关键,某个从服务器开启AOF 备份数据,策略为每秒同步一次。
(3)主服务器调用重写 AOF 文件:AOF 在重写的时候会占大量的 CPU 和内存资源,导
致服务 load 过高,出现短暂服务暂停现象。
(4)Redis 主从复制的性能问题:为了主从复制的速度和连接的稳定性,从服务器和主服
务器最好在同一个局域网内
Redis 的持久机制优劣对比(RDB 和 AOF)
       RDB(快照)的优势:快照的文件非常适合备份
RDB(快照)的劣势:1.可能会丢失数据(如果在 60 秒内只更新了 800 条数据,系统突然
崩溃,那 800 条数据就都没有了);2.大数据量的时候做 RDB,Redis 服务会暂停 1 分钟。
AOF 的优势:如果出现问题,最多丢失1 秒内的更新数据
AOF 的劣势:AOF 文件的体积可能会很大,另一方面,系统重启的时候会从 AOF 里读命
令,如果文件太大,读命令也会很久
为什么 Redis 要把数据放入内存中?
     Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。
所以 Redis 具有快速和数据持久化的特征。如果不将数据放在内存中,磁盘 I/O 速度为严重影响 Redis 的性能。如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。
Redis 使用场景
       1)会话缓存(Session、Cache):最常用的一种使用 Redis 的情景是会话缓存(session 、
cache)。用 Redis 缓存会话比其他存储(如 Memcached)的优势在于:Redis 提供持久化。
(2)全页缓存(FPC):除基本的会话 token 之外,Redis 还提供很简便的 FPC 平台。回
到一致性问题,即使重启了 Redis 实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降。
(3)队列:Reids 在内存存储引擎的一大优点是提供 list 和 set 操作,这使得Redis 能
作为一个很好的消息队列平台来使用。Redis 作为队列使用的操作,就是 PHP 对 list 的
push/pop 操作。
(4)排行榜/计数器:Redis 在内存中对数字进行递增或递减的操作实现的非常好。集合
(Set)和有序集合(SortedSet)也使得在执行这些操作的时候变的非常简单,Redis 只是正好提供了这两种数据结构。
(5)发布/订阅:Redis 的发布/订阅功能。发布/订阅的使用场景确实非常多,在社交网络
连接中使用,还可作为基于发布/订阅的脚本触发器,甚至用 Redis 的发布/订阅功能来建立聊天系统

相信通过以上的介绍,大家已经对Redis有了一个初步的认识!最后,祝大家生活愉快,阖家幸福。

1 个回复

正序浏览
棒棒哒
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马