Redis基础

什么是Redis?

Redis 是一个基于C语言开发的开源数据库,与传统数据库不同的是Redis的数据是存在内存中的,所以他又被叫做内存数据库,他的读写速度非常快,被广泛的应用于缓存方向。并且,Redis存储的是key,value键值对数据。

为了满足不同的业务场景,Redis内置了多种数据类型实现(比如String,Hash、SortedSet、Bitmap、HyperLog、GEO)。并且,Redis还支持事务、持久化、Lua脚本、多种开箱即用的集群方案(Redis Sentinel、Redis Cluster)。

Redis没有外部依赖,Linux和OSX是Redis开发和测试最多的两个操作系统,官方推荐生产环境使用Linux部署Redis。

Redis 为什么这么快?

Redis 内部做了非常多的性能优化,比较重要的有下面 3 点:

  1. Redis 基于内存,内存的访问速度是磁盘的上千倍;
  2. Redis 基于 Reactor 模式设计开发了一套高效的事件处理模型,主要是单线程事件循环和 IO 多路复用;
  3. Redis 内置了多种优化过后的数据结构实现,性能非常高。

为什么要用 Redis/为什么要用缓存?

下面我们主要从“高性能”和“高并发”这两点来回答这个问题。

1、高性能

假如用户第一次访问数据库中的某些数据的话,这个过程是比较慢,毕竟是从硬盘中读取的。但是,如果说,用户访问的数据属于高频数据并且不会经常改变的话,那么我们就可以很放心地将该用户访问的数据存在缓存中。

这样有什么好处呢?

那就是保证用户下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。

2、高并发

一般像 MySQL 这类的数据库的 QPS 大概都在 1w 左右(4 核 8g) ,但是使用 Redis 缓存之后很容易达到 10w+,甚至最高能达到 30w+(就单机 Redis 的情况,Redis 集群的话会更高)。(QPS(Query Per Second):服务器每秒可以执行的查询次数)

由此可见,直接操作缓存能够承受的数据库请求数量是远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。进而,我们也就提高了系统整体的并发。

posted @   牧丶归  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示