Redis追本溯源(一)先导:关于Redis的三个问题

文章目录

预备知识:

Redis快速上手和基本语法:博客

C语言语法:菜鸟教程


1.Redis是什么

  • Redis是一个开源的、内存的、具有数据结构的存储系统,通常被用作数据库、缓存、消息队列和流处理引擎。

  • Redis提供了多种数据类型,包括String、Hash、Set、List等。它还提供了主从复制、Lua脚本、LRU淘汰机制,以及持久化、哨兵和集群等功能。

  • Redis具有许多亮点,例如原子操作、优秀的内存数据库性能、内置的持久化机制,以及异步复制和部分复制等功能。

  • Redis提供了多种语言的客户端,这意味着Redis拥有良好的生态系统,有丰富的资料和低学习成本。

总结一下,Redis是一个键值数据库,它的优点包括丰富的数据类型、优秀的性能、支持原子操作、支持持久化,并且具有良好的生态系统。

2.Redis有什么用

关于Redis的作用请看我本人的这篇博客:here

3.为什么选择Redis:Redis vs Memcached

  • 原因一:

选 Redis 的一个原因是公司里面大多数人的技术栈,他们都熟悉 Redis,相较于其他缓存技术来说,Redis 的部署、维护、使用以及线上问题的处理,我们更能 hold 得住。

  • 原因二:

另外一个原因是,Redis相比同类型的其他工具,有种自己独有的优势。下面将对比市面上常见的K-V工具------Redis vs Memcached

Redis相对于Memcached有以下几个优点:

  1. 对复杂数据类型的支持:Redis天生支持Set、Hash、ZSet、List等复杂数据结构,而Memcached只支持字符串类型。在处理复杂需求时,使用Redis可以减少业务代码的复杂度和网络IO负载。

  2. 对持久化的支持:Redis支持多种持久化方式,可以将数据持久化到磁盘,而Memcached不支持持久化。这意味着在进程退出时,Redis中的数据仍然可以保留。

  3. 高性能的内存管理:Redis和Memcached在内存管理方面都表现优秀,性能相当。

  4. 线程模型的设计:Memcached采用多线程模型,在多核机器上性能较好,特别是在处理大Key时。而Redis采用单线程模型,可以实现一些原子操作,在许多场景下非常有用。

  5. 支持集群:Memcached采用伪分布式方案,各实例之间不通信,依赖客户端进行一致性哈希来请求到集群中的单个实例。在故障发生时,Memcached没有自动故障转移的能力,需要进行二次开发来提高高可用性。而Redis天生支持多种分布式模式,如主从模式、Sentinel模式和Redis Cluster模式,并且具备自动故障转移的能力。

综上所述,在复杂数据类型的支持、持久化、线程模型、集群和高可用性方面,Redis相对于Memcached具有更多的优势。但在多核机器上处理大Key时,Memcached的性能可能稍微好一些。根据具体的业务场景和需求,选择适合的缓存系统。

此外,关于Redis的语法、安装都在文章顶部给的博客中介绍过了

相关推荐
你想考研啊3 小时前
oracle导出 导入
数据库·oracle
韩立学长5 小时前
基于Springboot的旧时月历史论坛4099k6s9(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
TDengine (老段)6 小时前
TDengine 字符串函数 CONCAT_WS 用户手册
android·大数据·数据库·时序数据库·tdengine·涛思数据
IT 小阿姨(数据库)6 小时前
PostgreSQL 之上的开源时序数据库 TimescaleDB 详解
运维·数据库·sql·postgresql·开源·centos·时序数据库
JanelSirry7 小时前
缓存击穿,缓存穿透,缓存雪崩的原因和解决方案(或者说使用缓存的过程中有没有遇到什么问题,怎么解决的)
缓存
熊文豪8 小时前
openEuler 云原生实战:部署高性能 Redis 集群与压测分析
数据库·redis·云原生·openeuler
GTgiantech8 小时前
科普SFP 封装光模块教程
服务器·网络·数据库
深圳市恒讯科技8 小时前
如何在服务器上安装和配置数据库(如MySQL)?
服务器·数据库·mysql
言之。8 小时前
TiDB分布式数据库技术架构概述
数据库·分布式·tidb
万事大吉CC8 小时前
SQL表设计与约束教程
数据库·sql