Zhonghui

每个不曾起舞的日子,都是对生命的辜负

User Tools

Site Tools


程序:redis:如何理解redis

如何理解Redis【AI】


Redis 介绍

Redis 是一个开源的内存数据结构存储系统,常用作数据库、缓存和消息队列,特点如下:

  • 键值存储:支持字符串、列表、集合、哈希、有序集合(ZSet)等结构。

  • 高性能:内存操作,读写速度极快,通常在毫秒级。

  • 持久化:可将数据保存至磁盘。

  • 其他功能:发布订阅、事务、Lua脚本、主从复制、集群。

Redis 常见应用场景包括缓存热点数据、实时排行榜、会话存储、消息队列和秒杀系统等。

Redis 与 MySQL 的区别

特性 Redis MySQL
存储方式 内存为主,可持久化 磁盘存储
数据结构 键值型(Key-Value) 表格、行列关系
查询方式 命令式接口,无SQL SQL(结构化查询语言)
数据一致性 弱一致性,适合临时数据 强一致性,事务支持
适用场景 高速缓存、临时数据、计数器、消息队列 持久数据、关系型数据、复杂事务

Redis 不能完全取代 MySQL,但二者可组合使用。

Redis 与 MySQL 一般如何联合使用

常见模式

  • 缓存模式(缓存穿透防护):
    请求数据 → 先查Redis → 若未命中则查询MySQL → 存入Redis缓存。

    data = redis.get("user:123")
    if not data:
        data = mysql.query("SELECT * FROM users WHERE id=123")
        redis.set("user:123", data, ex=600)
  • 缓存一致性(Cache Aside模式):
    更新MySQL同时删除或更新Redis缓存数据。

  • 高频数据计数器或排行榜
    用Redis的原子操作统计高频数据,定时写回MySQL。

/var/www/DokuWikiStick/dokuwiki/data/pages/程序/redis/如何理解redis.txt · Last modified: 2025/05/21 01:41 by zhonghui