Redis的简单介绍

Ubuntu服务器通过IPV6端口转发搭建幻兽帕鲁私服实战 本文详细介绍了在Ubuntu服务器上通过IPV6端口转发搭建幻兽帕鲁私服的完整教程。针对只有公网IPV6地址的服务器环境,提供了从硬件检查、端口转发工具配置到游戏服务器安装的全流程解决方案,帮助玩家轻松实现多人联机游戏体验。 阅读详情

Redis(Remote Dictionary Server)是一个开源的、基于内存的键值对存储系统,常被用作数据库、缓存和消息中间件。以下是关于 Redis 的详细解析:


一、Redis 核心特性

  1. 内存存储

    • 数据存储在内存中,读写速度极快(10万+/秒 QPS)。
    • 支持异步持久化到磁盘,保证数据安全。
  2. 丰富的数据结构
    支持字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)等,还扩展了 Bitmaps、HyperLogLog、地理空间(GEO)等。

  3. 单线程模型

    • 单线程处理命令,避免多线程竞争,保证原子性。
    • 非阻塞 I/O 多路复用机制(基于 epoll/kqueue),高效处理高并发请求。
  4. 持久化机制

    • RDB(快照):定时生成内存快照,适合备份和恢复。
    • AOF(追加日志):记录所有写操作命令,重启时重放,数据更安全。
  5. 高可用与扩展

    • 主从复制:主节点(Master)同步数据到从节点(Slave),实现读写分离。
    • 哨兵模式(Sentinel):自动监控主从节点,实现故障转移。
    • 集群模式(Cluster):分布式数据分片(16384 个槽),支持水平扩展。

二、Redis 核心数据结构

数据结构特点与使用场景示例命令
String存储文本、数字或二进制数据(如缓存、计数器)SET key value, INCR key
List双向链表,支持队列/栈(如消息队列)LPUSH, RPOP
Hash键值对集合(如存储用户对象)HSET user:1 name John
Set无序唯一集合(如标签、共同好友)SADD, SINTER
Sorted Set有序集合,按分数排序(如排行榜)ZADD, ZRANGE
Bitmaps位操作(如用户在线状态统计)SETBIT, BITCOUNT
HyperLogLog基数估算(如UV统计)PFADD, PFCOUNT
Stream消息流(5.0+,支持消费者组)XADD, XREAD

三、Redis 典型应用场景

  1. 缓存
    • 缓解数据库压力,加速热点数据访问(如商品信息、用户会话)。
  2. 会话存储
    • 存储用户登录状态(Session),支持分布式系统共享会话。
  3. 排行榜/计数器
    • 利用 Sorted Set 实现实时排名,String 的 INCR 实现计数(如点赞数)。
  4. 消息队列
    • 使用 List 的 LPUSH/BRPOP 或 Stream 实现异步任务队列。
  5. 分布式锁
    • 通过 SET key value NX EX 实现互斥锁,控制并发资源访问。
  6. 实时数据分析
    • HyperLogLog 统计独立访客,Bitmaps 记录用户行为。

四、持久化机制对比

特性RDBAOF
持久化方式生成数据快照记录每次写操作的日志
文件大小小(二进制压缩)大(文本追加,可重写优化)
恢复速度快慢(需重放命令)
数据安全性可能丢失最后一次快照后的数据可配置同步频率(默认每秒),丢失数据少
使用场景适合备份和快速恢复对数据一致性要求高的场景

五、高可用方案

  1. 主从复制
    • 主节点写入,从节点读取,数据异步复制。
    • 缺点:主节点故障需手动切换。
  2. 哨兵模式
    • 哨兵集群监控主从节点,自动选举新主节点。
    • 提供故障转移和配置中心功能。
  3. Cluster 集群
    • 数据分片存储在多个主节点,每个主节点有从节点备份。
    • 支持动态扩缩容,自动故障转移。

六、性能优化与注意事项

  1. 内存管理
    • 控制 Key 数量,避免存储大对象。
    • 使用 SCAN 替代 KEYS 遍历,防止阻塞。
    • 设置过期时间(TTL),避免内存泄漏。
  2. 避免阻塞操作
    • 慎用 FLUSHALL、复杂 Lua 脚本等长时间阻塞命令。
  3. 缓存问题
    • 缓存穿透:恶意查询不存在的数据 → 使用布隆过滤器拦截。
    • 缓存击穿:热点 Key 过期后高并发请求 → 设置永不过期或互斥锁重建。
    • 缓存雪崩:大量 Key 同时过期 → 随机化过期时间,保证数据库可承受压力。

七、Redis vs 其他数据库

RedisMemcached关系型数据库(如MySQL)
数据模型键值+多种数据结构简单的键值对表格,支持复杂查询
持久化支持不支持支持
适用场景缓存、实时数据处理纯缓存场景事务性、复杂查询场景

八、学习资源推荐

官方文档:https://redis.io/documentation


通过上述内容,你可以全面理解 Redis 的核心设计思想、适用场景及最佳实践。如果需要深入某个技术点(如集群部署、Lua脚本编写),可以进一步探讨!

OpenClaw零基础教程:30分钟搭建你的第一个AI自动化助手 别再看那些满是代码、专业术语的教程了,那些都是给程序员看的。这篇教程,我把所有步骤拆到了极致,你跟着点鼠标就行,点错了都没关系,大不了重装一遍,5分钟的事。 阅读详情

相关推荐

[官方培训]19-物理模拟 Epic 肖月 笔记

物理引擎全局解算精度的设置,帧率越高,子步越多得到的模拟结果就越精确。引擎默认情况下是以变化的帧率运行的,但是对于Chaos物理引擎来说。一般子步越小,帧率越固定,效果就会更好更稳定一些。图示的分步选项就是依据下方的最长子步时长和最大步数对动态变化的帧率,进一步的做拆分来保证物理效果。对于影视项目建议都开启分步选项。红色框内有三个迭代次数的设置,这是Chaos基于位置的约束求解算法专用的一个设置,可以简单理解为迭代次数越高,当前帧一个子步内得到的结果就越精确。

Tcohneyn的博客 1545

Redis简单介绍

​ Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。​ Redis作者Salvatore Sanfilippo,来自意大利的西西里岛,现在居住在卡塔尼亚。目前供职于Pivotal公司。​ Redis做为内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件,在计时器,消息队列,排行榜,社交网络等也有广泛的应用场景。

fatestranger的博客 1201

Spring Cloud 整合(一) CRUD

Springcloud 整合之 CRUDSpringcloud介绍功能概述为什么要选用Springcloud Springcloud介绍 功能概述 实现微服务 Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的某些常见模式(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态)。分布式系统的协调导致样板式样,并且使用Spring Cloud开发人员可以快速站起来实现这些样板的服务和应用程序。 为什么要选用Springcloud

Kerwin-Lin的博客 1501

redis的简单介绍

redis的介绍 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String),...

weixin_44748475的博客 303

Qt 6.5实战:用QMediaPlayer搞定RTSP监控流播放(附LAV Filters解码器避坑指南)

本文详细介绍了如何在Qt 6.5中使用QMediaPlayer实现低延迟RTSP监控流播放,并提供了LAV Filters解码器的配置避坑指南。通过优化缓冲策略和硬件加速设置,显著提升视频流的播放性能和稳定性,适用于工业视觉检测和安防监控等实时场景。

weixin_33712987的博客 399

别再手动更新Excel了!用Jira看板管理你的个人项目(附保姆级配置流程)

本文详细介绍了如何利用Jira看板替代Excel进行个人项目管理,提供从注册到配置的保姆级教程。通过极简看板模式、自动化规则和数据分析功能,帮助用户实现任务可视化、协作高效化和提醒自动化,大幅提升个人工作效率。特别适合需要管理复杂个人项目的用户。

weixin_42699679的博客 228

简单介绍redis 及一些简单的操作

windows版的redis可以点击链接,到链接处下载,也可以自己到官网下载。下载好后到,windows+R,输入cmd,然后cd 到刚刚下载的文件,解压后的地址。例如:>cd C:\Users\ASUS\Desktop\redis接着:redis-server redis.windows.conf启动。再次windows+R,cmd,cd 到刚刚下载的文件,解压后的地址。redis-cli...

这天有点热的博客 299

新能源汽车动力总成研发测试技术全景深度报告(2025版)

本文所有企业案例数据均来自上市公司财报、工信部备案信息及权威媒体报道,技术参数经第三方检测报告交叉验证。研发测试人员能力矩阵重构(T型人才进阶路径)[10] 全球动力总成市场2035年预测报告。[9] NI电动汽车HIL测试架构技术文档。[3] 东风汽车智能化研发体系深度报告。[5] 混合动力测功机发明专利技术细节。[1] 领克动力总成试验中心技术解析。[7] 新能源汽车产业迭代趋势白皮书。测试架构师-数字工程。测试架构师-安全合规。测试架构师-人工智能。

优快云-新能源汽车研发测试专业博主 776

简单介绍Redis

1.简介 NoSQL的,基于单线程、基于内存的一个非关系型数据库,它的存储结构是key-value,存储类型有5种(String,list,set,zset,hash) 支持的键值对类型有5种: 字符串类型:String 散列类型:hash 列表类型:set 集合类型:list 有序集合类型:zset Redis与其他key - value缓存产品有以下三个特点 Redis支持数据的持久化。可以将内存种的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-v

淡漠的博客 210

AI Agent在智能广告投放中的应用

随着互联网的快速发展,广告投放市场变得越来越复杂和竞争激烈。传统的广告投放方式往往难以精准地触达目标受众,导致广告资源的浪费。AI Agent作为一种智能的自动化程序,能够在复杂的环境中自主学习、决策和执行任务。本文章的目的在于深入探讨AI Agent在智能广告投放中的应用,研究如何利用AI Agent提高广告投放的精准度、效率和效果,降低成本。范围涵盖了AI Agent的基本原理、相关算法、在广告投放中的具体应用场景以及实际案例分析等方面。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 616

数据分片的三种方式:哈希、一致性哈希、按照数据范围分片

数据分片就是按照一定的规则,将数据集划分成相互独立、正交的数据子集,然后将数据子集分布到不同的节点上。通过设计合理的数据分片规则,可将系统中的数据分布在不同的物理数据库中,达到提升应用系统数据处理速度的目的。三种常用的数据分片方式:1. 哈希分片2. 一致性哈希分片(Consistent Hash)3. 按照数据范围分片(Range Based)数据分片的应用场景:1. 数据库扩展2. 分布式缓存对集群部署多个缓存节点,提高缓存的处理能力。

wjianwei666的专栏 1134

关于Redis的简单介绍

一。什么是redis? Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。简单而言,Redis是一款内存高速缓存数据库。 二。redis与mysql的区别: 1.mysql数据库是一个关系型数据库,而redis数据库是一个非关系型数据库 2.mysql数据库是利用sql语句进行操作的一个数据库, 而redis数...

zhu740787155的博客 244

【Block总结】DiffAttention,差分注意力融入CLIP架构,抑制噪声,增强对相关特征的关注|即插即用

DiffCLIP通过微小的结构改动实现了显著的性能提升,为多模态模型的轻量化与高效化提供了新范式。

AI浩 1561

redis简单介绍及使用

初步学习Redis,其实我们也不需要知道得太多,只需要知道4点: 1 redis是什么? 2.redis作用是什么? 3.redis通常用在哪里? 4.redis怎么使用? 1.redis是什么? 简单来说,Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,称为数据结构服务器,因为值(value)可以是 字符串(Str...

wgxu123的博客 289

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

redis简单介绍

全称:Remote Dictionary Server(远程字典服务器)。类型:基于内存的键值型 NoSQL 数据库。诞生年份:2009年。Redis 的特点键值(Key-Value)型:数据结构:支持多种数据结构,如字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)、有序集合(SortedSets)等,功能丰富。单线程:Redis 使用单线程架构,每个命令具有原子性,即每个命令的执行是独立且不被打断的。

qq_41938541的博客 897

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【Redis】Redis Cluster 简单介绍

Redis Cluster 是 Redis 3.0 提供的一种分布式解决方案, 允许数据在多个节点之间分散存储, 从而实现高可用性和可扩展性。

LCN29的博客 1756

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Redis 简单介绍

1,redis是什么 redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。 2,支持的语言 3,redis的应用场景有哪些 1,会话缓存(最常用) 2,消息队列, 比如支付3,活动排行榜或计数 4,发布,订阅...

熊猫路人 360

【专栏Redis】简单介绍

Redis

孤刺 497

【一】Redis简单介绍

NoSQL数据库

彼岸花开 237

redis命令简单介绍

redis命令简单介绍 花开堪折直需折,莫待无花空折枝 命令行工具须知命令: 功能性命令 清除屏幕信息 帮助信息查阅 退出指令 redis功能命令: 基本的get、set命令,某些命令可以通过help命令查找 set: set key value get: get key 清除屏幕信息 clear 帮助信息查阅 help: 下面是help的信息提示 help @:group包括string、hash、list、set、sorted_set等,可以知道对应group(类型)的命令

qq_45302623的博客 132

Redis简单介绍以及在Springboot中使用redis

Redis简单介绍: Redis是一个使用c语言开发的数据库,它的数据是存在内存中的,读写速度很快,因此被广泛的应用于缓存方面。 redis特点: 1.redis支持key-value、list、set、zset、hash等数据结构的存储。 2.redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候再次加载进行使用。 3.Redis有灾难恢复机制。因为可以把缓存中的数据持久化到磁盘上。 4.redis同时使用了惰性删除与定期删除。 5.redis支持发布订阅模型、lua脚本、事务等功能。 6

qq_45968950的博客 7280
上一篇: 自定义 Starter(spring boot starter)
下一篇: Redis数据结构介绍
小李不秃头♛
博客等级 码龄2年 619粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值