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了。

相关推荐
子木HAPPY阳VIP5 小时前
信创UOS,Docker 完整操作部署(Dockerfile部署方式)&排错整合
linux·运维·redis·nginx·docker·容器·tomcat
手握风云-5 小时前
Redis:不只是缓存那么简单(四)
redis·缓存
冷小鱼7 小时前
Valkey 深度剖析:Redis 最佳平替的技术全景
数据库·redis·缓存·valkey
星筏8 小时前
深入理解分布式锁:ZooKeeper vs Redis
redis·分布式·zookeeper
Knight_AL8 小时前
从 0 到 1:PG WAL → Debezium → Kafka → Spring Boot → Redis
spring boot·redis·kafka
冷小鱼8 小时前
Redis 技术全景解析:从缓存基石到 AI 时代的数据引擎
数据库·redis·缓存
iwS2o90XT8 小时前
仿写一个简化版Redis,理解内存数据库
数据库·redis·缓存
苏渡苇8 小时前
Redis 核心数据结构(三)——Hash,把一堆字段塞进一个 Key
数据结构·redis·redis hash·redis hset
Maiko Star9 小时前
Spring AI 多轮对话记忆(ChatMemory)保姆级教程:从内存版到 Redis 持久化
java·redis·spring