Redis入门介绍
Redis入门介绍Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存事件发布或订阅高速队列等场景。支持网络提供字符串哈希列表队列集合结构直接存取基于内存可持久化。什么是RedisRedis是一款内存高速缓存数据库。Redis全称为Remote Dictionary Server远程数据服务使用C语言编写Redis是一个key-value存储系统键值存储系统支持丰富的数据类型如String、list、set、zset、hash。Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存事件发布或订阅高速队列等场景。支持网络提供字符串哈希列表队列集合结构直接存取基于内存可持久化。官方资料Redis官网:http://redis.io/Redis官方文档:http://redis.io/documentationRedis教程:http://www.w3cschool.cn/redis/redis-intro.htmlRedis下载:http://redis.io/download为什么要使用Redis一个产品的使用场景肯定是需要根据产品的特性先列举一下Redis的特点读写性能优异Redis能读的速度是110000次/s,写的速度是81000次/s 测试条件见下一节。数据类型丰富Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。原子性Redis的所有操作都是原子性的同时Redis还支持对几个操作全并后的原子性执行。丰富的特性Redis支持 publish/subscribe, 通知, key 过期等特性。持久化Redis支持RDB, AOF等持久化方式发布订阅Redis支持发布/订阅模式分布式Redis ClusterPS: 具体再结合下面的使用场景理解下下面是官方的bench-mark根据如下条件获得的性能测试读的速度是110000次/s,写的速度是81000次/s测试完成了50个并发执行100000个请求。设置和获取的值是一个256字节字符串。Linux box是运行Linux 2.6,这是X3320 Xeon 2.5 ghz。文本执行使用loopback接口(127.0.0.1)。Redis的使用场景redis应用场景总结redis平时我们用到的地方蛮多的下面就了解的应用场景做个总结热点数据的缓存缓存是Redis最常见的应用场景之所有这么使用主要是因为Redis读写性能优异。而且逐渐有取代memcached成为首选服务端缓存的组件。而且Redis内部是支持事务的在使用时候能有效保证数据的一致性。作为缓存使用时一般有两种方式保存数据读取前先去读Redis如果没有数据读取数据库将数据拉入Redis。插入数据时同时写入Redis。方案一实施起来简单但是有两个需要注意的地方避免缓存击穿。数据库没有就需要命中的数据导致Redis一直没有数据而一直命中数据库。数据的实时性相对会差一点。方案二数据实时性强但是开发时不便于统一处理。当然两种方式根据实际情况来适用。如方案一适用于对于数据实时性要求不是特别高的场景。方案二适用于字典表、数据量不大的数据存储。限时业务的运用redis中可以使用expire命令设置一个键的生存时间到时间后redis会删除它。利用这一特性可以运用在限时的优惠活动信息、手机验证码等业务场景。计数器相关问题redis由于incrby命令可以实现原子性的递增所以可以运用于高并发的秒杀活动、分布式序列号的生成、具体业务还体现在比如限制一个手机号发多少条短信、一个接口一分钟限制多少请求、一个接口一天限制调用多少次等等。分布式锁这个主要利用redis的setnx命令进行setnxset if not exists就是如果不存在则成功设置缓存同时返回1否则返回0 这个特性在很多后台中都有所运用因为我们服务器是集群的定时任务可能在两台机器上都会运行所以在定时任务中首先 通过setnx设置一个lock 如果成功设置则执行如果没有成功设置则表明该定时任务已执行。 当然结合具体业务我们可以给这个lock加一个过期时间比如说30分钟执行一次的定时任务那么这个过期时间设置为小于30分钟的一个时间就可以这个与定时任务的周期以及定时任务执行消耗时间相关。在分布式锁的场景中主要用在比如秒杀系统等。延时操作比如在订单生产后我们占用了库存10分钟后去检验用户是否真正购买如果没有购买将该单据设置无效同时还原库存。 由于redis自2.8.0之后版本提供Keyspace Notifications功能允许客户订阅Pub/Sub频道以便以某种方式接收影响Redis数据集的事件。 所以我们对于上面的需求就可以用以下解决方案我们在订单生产时设置一个key同时设置10分钟后过期 我们在后台实现一个监听器监听key的实效监听到key失效时将后续逻辑加上。当然我们也可以利用rabbitmq、activemq等消息中间件的延迟队列服务实现该需求。排行榜相关问题关系型数据库在排行榜方面查询速度普遍偏慢所以可以借助redis的SortedSet进行热点数据的排序。比如点赞排行榜做一个SortedSet, 然后以用户的openid作为上面的username, 以用户的点赞数作为上面的score, 然后针对每个用户做一个hash, 通过zrangebyscore就可以按照点赞数获取排行榜然后再根据username获取用户的hash信息这个当时在实际运用中性能体验也蛮不错的。点赞、好友等相互关系的存储Redis 利用集合的一些命令比如求交集、并集、差集等。在微博应用中每个用户关注的人存在一个集合中就很容易实现求两个人的共同好友功能。简单队列由于Redis有list push和list pop这样的命令所以能够很方便的执行队列操作。

相关新闻

近期零基础做量化,难点不只是代码

近期零基础做量化,难点不只是代码

没有编程或交易经验时,量化看起来像是一整套同时压过来的复杂系统。初学者容易把难点全部归结为不会写代码,却忽略了代码之前还有一个更基础的问题:规则是否已经足够清楚。工具要跟着当前任务走如果一个交易规则本身含糊,后面的技…

2026/6/30 23:46:43阅读更多 →
计算机毕业设计之餐饮管理系统的设计与实现

计算机毕业设计之餐饮管理系统的设计与实现

餐饮管理系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓,iOS相比较起来,餐饮…

2026/6/30 23:46:43阅读更多 →
【学习记录】Week3(二):栈上狂欢——Shellcode 注入与 jmp esp/call eax 跳转实战

【学习记录】Week3(二):栈上狂欢——Shellcode 注入与 jmp esp/call eax 跳转实战

写在前面:在上一篇中,我们通过 ret2win 成功跳进了程序自带的现成后门。但如果程序里没有后门函数呢?这时候,我们就必须“自带干粮”——把一段机器码(Shellcode)注入到程序的内存中,然后想方设…

2026/6/30 23:46:43阅读更多 →
Kinovea开源视频分析软件:从动作捕捉到精准测量的完整解决方案

Kinovea开源视频分析软件:从动作捕捉到精准测量的完整解决方案

Kinovea开源视频分析软件:从动作捕捉到精准测量的完整解决方案 【免费下载链接】Kinovea Video solution for sport analysis. Capture, inspect, compare, annotate and measure technical performances. 项目地址: https://gitcode.com/gh_mirrors/ki/Kinovea …

2026/7/1 0:56:50阅读更多 →
Dism++终极指南:Windows系统清理与备份的完整解决方案

Dism++终极指南:Windows系统清理与备份的完整解决方案

Dism终极指南:Windows系统清理与备份的完整解决方案 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism是一款免费开源的Windows系统维护工具&…

2026/7/1 0:56:50阅读更多 →
Doris部署与核心使用指南:从零构建实时分析数据仓库

Doris部署与核心使用指南:从零构建实时分析数据仓库

如果你在数据仓库选型时,还在为“既要实时分析,又要支持高并发点查”这个看似矛盾的需求而头疼,那么Doris的出现,可能意味着你不需要再做出妥协。它不是一个简单的MySQL替代品,也不是一个纯粹的离线数仓,而…

2026/7/1 0:56:50阅读更多 →
物理信息神经网络PINNs求解欧拉-伯努利(Euler-Bernoulli)双梁正问题 【 torch 实战】(Python代码实现)

物理信息神经网络PINNs求解欧拉-伯努利(Euler-Bernoulli)双梁正问题 【 torch 实战】(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/7/1 0:56:50阅读更多 →
5分钟快速上手Mate Engine:打造你的免费虚拟桌面伙伴终极指南

5分钟快速上手Mate Engine:打造你的免费虚拟桌面伙伴终极指南

5分钟快速上手Mate Engine:打造你的免费虚拟桌面伙伴终极指南 【免费下载链接】Mate-Engine A free Desktop Mate alternative with a lightweight interface and custom VRM support, though with more features. 项目地址: https://gitcode.com/gh_mirrors/ma/M…

2026/7/1 0:56:50阅读更多 →
iOS应用砸壳实战指南:从原理到工具选型与环境配置

iOS应用砸壳实战指南:从原理到工具选型与环境配置

1. 项目概述:为什么我们需要“砸壳”?在iOS开发和安全研究领域,“砸壳”是一个绕不开的核心技能。简单来说,iOS App Store上架的应用,都会被苹果加上一层“保护壳”,这层壳就是FairPlay DRM加密&#xff0c…

2026/7/1 0:51:50阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/30 4:03:30阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/30 4:36:27阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →