码迷,mamicode.com
首页 > 其他好文 > 详细

透彻理解redis

时间:2020-04-01 19:10:30      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:remote   bsd   rdb   主从复制   系统上线   数据结构   dict   问题   切换   

 

 前言......

                                                   技术图片

 

 

Redis 作为一个开源的,高级的键值存储和一个适用的解决方案,已经越来越在构建 「高性能」、「可扩展」 的 Web 应用上发挥着举足轻重的作用。

当今互联网技术架构中 Redis 已然成为了应用得最广泛的中间件之一,它也是中高级后端工程 技术面试 中面试官最喜欢问的工程技能之一,
不仅仅要求着我们对 基本的使用 进行掌握,更要深层次地理解 Redis 内部实现 的细节原理。

 

什么是 Redis ?

Redis (Remote Dictionary Server) 是一个使用 C 语言 编写的,开源的 (BSD许可) 高性能 非关系型 (NoSQL) 的 键值对数据库。

简单提一下 Redis 数据结构

Redis 可以存储 键 和 不同类型数据结构值 之间的映射关系。键的类型只能是字符串,而值除了支持最 基础的五种数据类型 外,还支持一些 高级数据类型

                                       技术图片

 

 Redis 小总结

 

 

 

与传统数据库不同的是 Redis 的数据是 存在内存 中的,所以 读写速度 非常 快,因此 Redis 被广泛应用于 缓存 方向,每秒可以处理超过 10 万次读写操作,
是已知性能最快的 Key-Value 数据库。另外,Redis 也经常用来做 分布式锁。除此之外,Redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。

Redis 优缺点

优点

读写性能优异, Redis能读的速度是 110000 次/s,写的速度是 81000 次/s。
支持数据持久化,支持 AOF 和 RDB 两种持久化方式。
支持事务,Redis 的所有操作都是原子性的,同时 Redis 还支持对几个操作合并后的原子性执行。
数据结构丰富,除了支持 string 类型的 value 外还支持 hash、set、zset、list 等数据结构。
支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。

缺点

数据库 容量受到物理内存的限制,不能用作海量数据的高性能读写,因此 Redis 适合的场景主要局限在较小数据量的高性能操作和运算上。
Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的 IP 才能恢复。
主机宕机,宕机前有部分数据未能及时同步到从机,切换 IP 后还会引入数据不一致的问题,降低了 系统的可用性。
Redis 较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费

 

透彻理解redis

标签:remote   bsd   rdb   主从复制   系统上线   数据结构   dict   问题   切换   

原文地址:https://www.cnblogs.com/JonaLin/p/12614622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!