Redis相关知识

Redis是一个开源的内存数据库,用于存储键值对。它支持多种数据结构,如字符串、哈希、列表、集合等。

Redis优势

  • 高性能:基于内存操作,读写速度快。
  • 数据结构丰富:支持多种数据结构,适用于不同场景。
  • 持久化:支持RDB快照和AOF日志两种持久化方式。
  • 支持事务:通过MULTI和EXEC命令实现事务操作。
  • 分布式:支持主从复制和Sentinel高可用。

Redis数据结构

  • 字符串(String)
  • 哈希(Hash)
  • 列表(List)
  • 集合(Set)
  • 有序集合(Sorted Set)

Redis持久化

Redis的持久化指的是将内存中的数据写入磁盘,以防止数据在服务器重启时丢失。主要有两种方式:RDB快照和AOF日志。
RDB是定期将内存中的数据生成快照并写入磁盘,适用于备份和恢复。AOF则是将每次写操作都追加到日志文件中,适用于实时的持久化。

Redis的数据过期策略

Redis使用两种过期策略:定时删除和惰性删除。定时删除是指在设置键的过期时间时同时创建一个定时器,过期时删除键。惰性删除是在访问键时检查过期时间,过期时删除键。

Redis实现分布式

Redis实现分布式主要通过主从复制和Sentinel高可用机制。主从复制是指一个主节点可以有多个从节点,数据同步从主节点到从节点。Sentinel是用于监控和自动故障恢复的系统。

Redis的哨兵

哨兵是用于监控Redis系统的组件,可以发现并通知系统中的其他组件有关Redis节点故障的信息。哨兵还可以执行自动故障转移,将故障节点的工作转移到备用节点上

Redis事务

Redis事务是一组命令的集合,可以一次性、顺序地执行,保证原子性。通过MULTI和EXEC命令来开启和执行事务。

Redis的缓存淘汰策略

  • LRU(Least Recently Used):
    描述: 选择最近最少使用的数据进行淘汰。
    配置参数: maxmemory-policy 设置为 “volatile-lru” 或 “allkeys-lru”。
  • LFU(Least Frequently Used):
    描述: 选择最不经常使用的数据进行淘汰。
    配置参数: maxmemory-policy 设置为 “volatile-lfu” 或 “allkeys-lfu”。
  • TTL(Time To Live):
    描述: 选择具有最早过期时间的数据进行淘汰。
    配置参数: maxmemory-policy 设置为 “volatile-ttl”。
  • Random(随机选择):
    描述: 随机选择要淘汰的数据。
    配置参数: maxmemory-policy 设置为 “volatile-random”。
  • NoEviction(不淘汰):
    描述: 不执行淘汰操作,而是返回错误,告知写操作无法完成。
    配置参数: maxmemory-policy 设置为 “noeviction”。

相关推荐

  1. Redis相关知识

    2024-01-22 20:00:01       62 阅读
  2. Redis相关知识汇总

    2024-01-22 20:00:01       29 阅读
  3. redis 相关知识

    2024-01-22 20:00:01       40 阅读
  4. 5、Redis 缓存设计相关知识

    2024-01-22 20:00:01       34 阅读
  5. Redis相关

    2024-01-22 20:00:01       38 阅读
  6. Redisredis面试相关积累

    2024-01-22 20:00:01       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-22 20:00:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-22 20:00:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-22 20:00:01       82 阅读
  4. Python语言-面向对象

    2024-01-22 20:00:01       91 阅读

热门阅读

  1. 2024.Python

    2024-01-22 20:00:01       55 阅读
  2. ffmpeg使用手册

    2024-01-22 20:00:01       70 阅读
  3. leetcode 122双周赛 解题思路+代码

    2024-01-22 20:00:01       50 阅读
  4. HJ6 质数因子【C语言】

    2024-01-22 20:00:01       52 阅读
  5. kingbase常用SQL总结之统计大小

    2024-01-22 20:00:01       50 阅读
  6. 链表--简单学习

    2024-01-22 20:00:01       54 阅读
  7. pwn前置基础

    2024-01-22 20:00:01       59 阅读
  8. Nginx动静分离

    2024-01-22 20:00:01       42 阅读
  9. python笔记5

    2024-01-22 20:00:01       51 阅读
  10. Android studio 之 弹窗PopupWindow

    2024-01-22 20:00:01       59 阅读
  11. 670. 最大交换

    2024-01-22 20:00:01       48 阅读
  12. 数据备份策略

    2024-01-22 20:00:01       67 阅读