《Redis应用实例》Java实现
人民邮电出版社2024年出版的《Redis应用实例》一书代码的Java实现,原书的代码是python。
foxbillcsdn
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《Redis应用实例》Java实现(29):优先队列
优先队列也是一种非常常见的数据结构,跟队列类似,只是队列中元素有优先级,根据优先级来进行排序。redis中可以使用zset来实现优先队列。原创 2025-11-09 21:50:04 · 202 阅读 · 0 评论 -
《Redis应用实例》Java实现(28):栈
栈是后进先出队列,也是一种非常常见的数据结构。本例演示了如何在用redis来实现栈。常被用来实现撤销功能。原创 2025-11-09 21:49:21 · 200 阅读 · 0 评论 -
《Redis应用实例》Java实现(27):定长队列和淘汰队列
不同之处是定长队列超过定长后后面的元素不添加了,而淘汰队列超过定长后面添加的元素添加后最前面的元素会删掉。定长队列和淘汰队列都是固定长度的队列。原创 2025-11-09 21:48:15 · 167 阅读 · 0 评论 -
《Redis应用实例》Java实现(26):先进先出队列
用redis来做先出队列的优势是快速,当数据量较大,而对处理速度要求高的时候,就可以用redis来完成先进先出队列。先进先出队列是一种非常常见的数据结构,在开发中经常用到,比如排队系统、秒杀系统。原创 2025-11-03 11:15:59 · 137 阅读 · 0 评论 -
《Redis应用实例》Java实现(25):地理位置
地图应用已经被广泛使用,例如高德地图。除了这些专用app需要使用地理位置外,很多互联网应用也需要用到地理位置,例如微信的摇一摇。redis也内置了对地理位置的存储,计算等相关功能。本例演示了redis中地理位置的使用。原创 2025-11-03 11:15:02 · 180 阅读 · 0 评论 -
《Redis应用实例》Java实现(24):时间线
比如博客系统,用户可能只对对特定时间段的文章感兴趣,例如,他想查看在2023年至2025年发表的文章,诸如此类。对于一些与时间或日期密切关联的应用,分页是基于时间的。可以利用reids的zset来实现这个功能。原创 2025-10-30 17:38:12 · 106 阅读 · 0 评论 -
《Redis应用实例》Java实现(23):分页
分页在基于数据库的应用中大量使用,当数据量很大时要在界面上显示,一次无法显示所有数据,就需要用到分页。如果数据存储在redis中时,如何实现分页查询呢?原创 2025-10-30 17:28:12 · 189 阅读 · 0 评论 -
《Redis应用实例》Java实现(22):排行榜
本例演示如何使用Redis的有序集合(Sorted Set) 数据结构来实现一个按分数排序的排行榜。原创 2025-10-23 11:08:05 · 298 阅读 · 0 评论 -
《Redis应用实例》Java实现(21):投票
本例通过redis来实现投票功能。原创 2025-10-23 11:04:05 · 251 阅读 · 0 评论 -
《Redis应用实例》Java实现(20):短网址生成器
短网址(Short URL)是一种将原始的、冗长复杂的 URL转换为长度更短、格式更简洁的 URL 的技术。其核心价值在于解决长 URL 在传播、展示和使用中的不便,同时具备可追踪、可管理等延伸功能。例如社交媒体上的文章的url都很长,转换为短网址后,即节省空间,也方便记忆。原创 2025-10-21 14:53:11 · 384 阅读 · 0 评论 -
《Redis应用实例》Java实现(19):登录会话
传统的 Session 是存储在单个服务器的内存中的。第二次请求可能被分发到服务器 B,但 B 上没有这个 Session,用户就需要重新登录,这就是“有状态”服务带来的问题。Redis 解决方案的核心思想是:将 Session 从应用服务器的内存中“抽离”出来,统一存储到一个所有应用服务器都能访问的中央缓存——Redis 中。这样,无论用户的请求被分发到哪台服务器,服务器都可以去 Redis 中查询和验证 Session,从而实现“无状态”的应用服务器,便于水平扩展。原创 2025-10-19 15:43:05 · 179 阅读 · 0 评论 -
《Redis应用实例》Java实现(18):社交关系
社交网络程序的一个核心就是网友之间的社交关系,关注与粉丝等。原创 2025-10-19 15:40:28 · 215 阅读 · 0 评论 -
《Redis应用实例》Java实现(17):抽奖
本例演示了如何使用redis实现抽奖程序。添加参与者,防止重复参与者。随机抽取并删除参与者。原创 2025-10-19 15:38:53 · 264 阅读 · 0 评论 -
《Redis应用实例》Java实现(15):标签系统
电商系统中大量使用了大标签的功能,通过redis可以高效的实现这个功能。原创 2025-10-19 15:36:41 · 171 阅读 · 0 评论 -
《Redis应用实例》Java实现(14):消息队列
使用stream实现消息队列,支持消费者组。原创 2025-10-15 11:27:11 · 175 阅读 · 0 评论 -
《Redis应用实例》Java实现(12):数据库迭代器
redis的迭代器让用户可以分批获取数据库中的数据,而不是一次性获取整个数据库的全部数据,在数据量巨大的时候不会造成服务器阻塞。原创 2025-10-15 11:23:49 · 154 阅读 · 0 评论 -
《Redis应用实例》Java实现(11):紧凑字符串
(1)使用APPEND 命令,将大量字符串以追加的形式存储在同一个字符串键中,这样就避免了使用多个字符串键或多个列表项带来的内存开销。(2)在每次向字符串键执行追加操作之前,向被追加的新字符串末尾添加一个特殊的分隔符作为标识,如换行符\n。(3)在需要的时候,从字符串键中取出指定大小的数据块,然后基于分隔符将它们逐一还原为字符串。原创 2025-10-15 11:22:24 · 194 阅读 · 0 评论 -
《Redis应用实例》Java实现(10):资源池
【代码】《Redis应用实例》Java实现(10):资源池。原创 2025-10-15 11:21:02 · 81 阅读 · 0 评论 -
《Redis应用实例》Java实现(9):二元操作记录器
Jedis的setbit和getbit通过直接操作二进制位,提供了高效、原子、空间优化的位数据处理能力,可轻松实现用户在线状态管理、活跃度统计等场景。可以高效地处理二进制位数据,适用于用户在线状态管理、活跃度统计等场景。演示jedis setbit和getbit的使用。原创 2025-10-15 11:19:06 · 106 阅读 · 0 评论 -
《Redis应用实例》Java实现(8):速率限制器
✅ Jedis原子操作示例类AtomicOperationExample。用于实现在一定时间内,只允许用户某个动作操作指定次数,超过次数就拒绝。AtomicOperationExample用来演示如何完成原子操作。类似速率限制器这类需求,需要使用redis来做原子操作。比如一分钟内每个用户只能访问某个页面10次。有2种方式: 事务和管道。原创 2025-10-14 09:24:22 · 117 阅读 · 0 评论 -
《Redis应用实例》Java实现(7):唯一计数器
在大数据量中进行去重计数,而不需要精确结果的场景,可以使用HyperLogLog来实现高效统计,误差约为0.81%。原创 2025-10-14 09:22:03 · 146 阅读 · 0 评论 -
《Redis应用实例》Java实现(5-6):自增数字ID和计数器
Sorted Set 本身不直接支持 INCR 操作,但可以通过 zincrby 修改成员的分数。可通过使用jedis.incr、jedis.incrBy来完成原子递增操作。支持 incr、incrBy、incrByFloat 等原子递增操作。核心点是使用jedis.incr、jedis.incrBy。原书第5章和第6章,功能比较简单,把代码放在一起了。支持hincrBy、hincrByFloat。1. String(字符串)原创 2025-10-14 09:19:46 · 199 阅读 · 0 评论 -
《Redis应用实例》Java实现(2):缓存二进制数据
本章代码通过保存图片到redis中,演示了如何在redis中保存二进制数据,以及从redis中读取二进制数据。使用jedis的set和get函数,同样可以设置和读取二进制数据。3:从redis中读取数据到byte[]1:读取图片文件到byte[]变量中。2:保存byte[]到redis中。✅ 文件读写工具类FileUtil。4:保存byte[]到文件。✅ 缓存二进制数据实现类。原创 2025-10-14 09:13:59 · 103 阅读 · 0 评论 -
Redis应用实例》Java实现(3):用 Redis 实现分布式锁
通过 Redis 的 SET 命令(带 NX 和 EX 选项)实现基本的分布式锁功能,演示了锁的获取、锁的互斥性以及锁的超时释放机制。本章代码演示了使用 Redis 实现分布式锁。使用 SETNX 原子操作确保锁的互斥性。通过超时机制自动释放锁。设置过期时间防止死锁。原创 2025-10-14 09:15:55 · 131 阅读 · 0 评论 -
《Redis应用实例》Java实现(1):缓存文本数据(字符串键 + JSON哈希)
最近在读人民邮电出版社2024年出版的《Redis应用实例》,这本书通过25个真实场景讲解了 Redis 的核心应用,非常实用。但作为一个 Java 程序员,我发现书中的示例代码全是 Python 写的,理解起来有些障碍。于是,我决定把这本书的所有案例用 Java 重写一遍,并分享出来,希望能帮到和我一样的开发者。本章我们来实现 **“缓存文本数据”** ——这是 Redis 最基础也最常用的场景之一。📖 原书内容回顾第 1章 缓存文本数据 31.1 需求描述 3。原创 2025-10-11 09:28:48 · 311 阅读 · 0 评论
分享