Redis——特性

特性

  • 数据存储模型:以键值对(Key-Value) 存储,属于非关系型数据库;区别于 MySQL 这类表与表存在关联的关系型数据库。

  • 存储介质:主打内存级数据库,以内存为主要存储媒介,磁盘仅用作辅助持久化。

  • 性能特点:相比 MySQL 等磁盘数据库,读写速度极快。

  • 数据持久化:虽基于内存运行,但支持数据落盘持久化,防止断电数据丢失。

  • 集群部署:原生支持集群模式,可分布式部署在多台服务器。

  • 高可用机制:支持主从架构,主节点故障时,从节点可自动顶替,保障服务高可用。

  • 操作方式:支持原生命令行操作,同时兼容 Lua 脚本,可实现批量命令、原子化复杂操作。

  • 可扩展能力:支持使用 C、C++、Rust 等语言开发Redis 扩展,自定义新数据结构;本质是编译为动态链接库加载运行


redis的用处

  • 数据库:内存级数据库(内存是主要的存储硬件,磁盘用于持久化)
  • 缓存:比如存储冷热分离架构的热点数据,或者会话存储(负载均衡下把所有会话信息保存在Redis服务器中,防止用户需要在不同服务器上登录多次的逻辑缺陷)
  • 中间件:做消息队列服务器进行削峰填谷解耦合

redis为什么快

  • 它是访问内存为主,磁盘为辅
  • 它逻辑简单,不像Mysql一样要有很多逻辑处理比如关联关系的处理,或者事务的完全支持
  • Redis使用epoll模型而不是多线程,网络IO效率高,因此消耗资源少的同时反应速度也较快(因为不用进行调度而是直接在用户层遍历读取)
  • Redis使用单线程模型执行命令,避免了不必要的锁竞争和线程调度开销(多线程提高效率是因为自己执行的是CPU密集任务,调度和加锁的消耗比不上充分利用了CPU多核资源的收益。而Redis只操作数据结构,加锁以及调度的开销甚至超过了并行操作本身节省下来的时间,收益比不上消耗)

使用redis的方式

redis是客户端-服务端架构,使用redis的方式如下:

  • 命令行
  • 图形化界面
  • API(程序中使用,类似于mysql api)

hashmap和redis的区别

既然redis是一个键值对的存储方式,那么其实使用hashmap是更快,更简单的(因为redis得通过网络访问,还要维护很多数据结构),但是redis有如下特性:

  • 持久化存储
  • 可以扩展成分布式
  • 支持网络访问

其实redis就是在键值对存储的基础之上扩展了功能,要是你业务里用到这些功能,那就直接使用redis,省得自己手搓,反之要是你不用这些功能当然也就没必要使用redis了。

相关推荐
流星白龙13 分钟前
【Redis】1.Redis特性
数据库·redis·缓存
二宝哥14 小时前
CentOS 7.9 系统下 Redis 5.0.4 单机安装与源码编译安装指南
redis·centos
ShiXZ21319 小时前
Redis docker-compose 部署指南
redis·docker·eureka
青山木1 天前
Redis 缓存一致性全解:从 Cache Aside 到延迟双删、Canal+MQ 的进阶之路
java·数据库·redis·后端·缓存
YDS8291 天前
大营销平台 —— 活动SKU库存扣减业务及其一致性处理
java·spring boot·redis·rabbitmq·ddd
爬也要爬着前进2 天前
redis主从搭建
数据库·redis·缓存
用户095367515832 天前
在系统的学习 redis 前的疑惑
redis·go
吴声子夜歌2 天前
Redis 3.x——集群故障转移
java·数据库·redis·集群
明豆2 天前
Redis 分布式缓存生产实战
redis·分布式·缓存
海兰2 天前
【高速缓存】RedisVL 指南:从向量搜索到 AI 应用落地
人工智能·redis