当前位置: 首页 > news >正文

Redis 特性和应用场景

1. Redis特性

1)In-memory data structures

Redis 在内存中存储数据,key 是 String, value 可以是 hash, list, set, sorted set, stream ...

MySQL主要是通过 “表” 的方式来存储组织数据的 “关系型数据库”

Redis主要是通过 “键值对” 的方式来存储组织数据的 “非关系数据库”

2)Programmability

针对 Redis 的操作,可以直接通过简单的交互式命令进行操作

也可以通过一些脚本的方式,批量执行一些操作(可以带有一些逻辑)

3)Extensibility

可以在 Redis 原有的功能基础上再进行扩展,Redis 也提供了一组 API

4)Persistence

持久化 —— Redis 把数据存储在内存上

内存中存储的数据是易失的,进程退出/程序重启 都会丢失

可以把 Redis 中的数据存储在硬盘上,相当于备份。当程序重启时,会加载硬盘中的数据,是 Redis 的内存恢复到重启前的状态

5)Clustering

Redis 作为一个分布式系统中的插件,能支持集群(类似于水平扩展,“分库分表”)

一个 Redis 能存储的数据是有限的(内存空间有限)

引入多台主机,部署多个 Redis 节点,每个 Redis 存储数据的一部分

6)High availability

高可用 —— 备份/冗余

Redis 自身支持 “主从” 结构,从节点相当于是主节点的备份

2. Redis 应用场景

1)缓存

缓存机制⼏乎在所有⼤型⽹站都有使用,合理地使用缓存不仅可以加速数据的访问速度,而且能
够有效地降低后端数据源的压力。Redis 提供了键值过期时间设置,并且也提供了灵活控制最⼤内存和 内存溢出后的淘汰策略

2)排行榜

Redis 提供了列表和有序集合的结构,合理地使用这些数据结构可以很方便地构建各种排行榜系统

3)计数器

Redis 天然⽀持计数功能而且计数的性能也非常好

4)社交网络

赞 / 踩、粉丝、共同好友 / 喜好、推送、下拉刷新等是社交网站的必备功能,由于社交网站访问量
通常比较大,而且传统的关系型数据不太合适保存这种类型的数据,Redis 提供的数据结构可以相对比较容易地实现这些功能

5)消息队列

消息队列系统可以说是⼀个大型网站的必备基础组件,因为其具有业务解耦、非实时业务削峰等
特性。Redis 提供了发布订阅功能和阻塞队列的功能,虽然和专业的消息队列比还不够足够强⼤,但是 对于⼀般的消息队列功能基本可以满足

3. Redis 运行快的原因探讨

1)Redis 数据存储在内存中,比访问硬盘的数据库要快很多

2)Redis 核心功能都是比简单的逻辑(比较简单的操作内存的数据结构)

3)从网络的角度上,Redis 使用 IO 多路复用的方式(epoll),使用一个线程管理多个 socket

4)Redis 使用的是单线程模型(高版本引入多线程),单线程减少了不必要的线程之间的竞争开销(Redis 的核心业务,主要是操作内存的数据结构,不会很消耗CPU)

多线程提高效率的前提是,CPU密集型任务

使用多个线程可以充分利用CPU多核资源

相关文章:

  • 测试模板1
  • python高级编程一(生成器与高级编程)
  • arcpy基础之环境搭建
  • 【QT】学习笔记1
  • leetcode刷题日记——赎金信
  • 【PyTorch项目实战】反卷积(Deconvolution)
  • 解决 weditor 报错AttributeError: ‘Device‘ object has no attribute ‘address’
  • Java对象内存结构详解
  • 文献总结:AAAI2025-UniV2X-End-to-end autonomous driving through V2X cooperation
  • linux RCU技术
  • Android11车载WiFi热点默认名称及密码配置
  • 蓝桥杯嵌入式考前模块总结
  • CMake中add_custom_command用法详解
  • Kubernetes安装与集群构建详细过程
  • 【STM32标准库】--新建工程
  • redis之缓存击穿
  • JavaScript Symbol与BigInt
  • Vue.js组件安全工程化演进:从防御体系构建到安全性能融合
  • 计算机系统设计中的一些常用方法
  • 《MATLAB实战训练营:从入门到工业级应用》趣味入门篇-用MATLAB画一朵会动的3D玫瑰:从零开始的浪漫编程之旅
  • 客服代运营/网站首页的优化
  • 如何在新闻网站发外链/定制网站+域名+企业邮箱
  • 做商城网站在哪里注册营业执照/广州seo学徒
  • 汕尾北京网站建设/网站收录提交入口网址
  • 每日新闻简报今天/什么是seo如何进行seo
  • 17网站一起做网店普宁香港街/推广普通话演讲稿