Redis

浏览该分类下的所有文章

别让付费大模型成为后端漏洞:SpringBoot多模型路由、鉴权与计费安全实践

本文以多模型系统为例,指出付费大模型接入的关键不在接口调用,而在身份、模型、网络与成本边界。后端应建立统一出站层,集中完成认证校验、模型白名单、授权、端点验证及 Redis Lua 额度控制。Redis 异常时应拒绝付费请求,禁止自动重试和重定向;长连接使用租约心跳,结果不确定时不立即释放租约,避免重复计费。分享标题等隐式功能应固定使用免费模型并支持降级,以自动化测试固化权限、路由和异常处理规则。

文章解锁功能安全漏洞修复技术记录

博客文章解锁功能原本依赖本地存储 `blog_global_unlocked`,导致用户可通过浏览器 DevTools 修改键值绕过关注公众号的验证码验证,破坏付费与引流策略。为根除此漏洞,方案将关键验证迁移至服务器端,采用 Spring Boot REST 接口配合 Redis 保存解锁状态和一次性令牌,使用多层客户端标识(Cookie、请求头、IP+User‑Agent 指纹)生成唯一 `clientId`。前端通过 Fetch 与服务器查询解锁状态、获取令牌并在页面加载时决定是否解锁;拦截器统一注入 `clientId` 并写入长期 Cookie。令牌采用 MD5(clientId+timestamp+UUID) 生成,具滑动过期和防篡改校验。整体实现保持用户体验流畅,同时实现服务器可控、不可伪造、可追踪的安全解锁机制。

微信公众号API+Redis实现内容访问控制

实现基于微信公众号验证码的文章解锁功能:未关注用户仅能阅读文章前1/3,底部“查看全文”引导关注;关注后发送关键词“博客”即获6位数字验证码,验证码存入Redis(5 分钟有效、单次使用),前端通过 CSS max‑height 与渐变遮罩实现内容截断。用户验证成功后在浏览器 LocalStorage 标记全局解锁状态,实现全站解锁。后端采用 Spring Boot 提供验证码生成/验证 API 与微信消息处理接口,配合 Redis 保存验证码,整体架构为 浏览器 ↔ Spring Boot ↔ Redis ←→ 微信服务器。实现步骤包括 Redis 配置、验证码服务实现、微信接入及前端交互逻辑。

博客侧边栏热门文章与最新文章功能实现详解

本文介绍在 Spring Boot + Thymeleaf 项目中为博客文章详情页实现侧边栏的热门文章(浏览量前5)和最新文章(发布时间前3)功能。通过只查询必要字段的 SQL、@Cacheable 缓存,实现一次查询复用;在控制器使用 Java 8 Stream 按浏览量降序排序并截取前5篇,直接取前3篇作为最新文章。前端采用 Thymeleaf 循环渲染,CSS 使用 sticky 定位保持左侧固定,媒体查询实现 PC 端显示、移动端隐藏,并通过颜色、圆点、文字截断等样式提升可读性。整体方案兼顾性能、响应式布局和用户体验。

Redis实战常见问题与解决方案

Redis在Java项目中常见的穿透、击穿、雪崩等缓存问题,可通过布隆过滤、互斥锁或逻辑过期、随机TTL等手段防御;为保证缓存与库的一致性,采用延迟双删或基于消息队列的最终一致方案;大key导致内存压力时,可拆分分片或使用合适的数据结构;通过配置allkeys‑lru、合理的maxmemory‑policy 以及 Jedis 连接池的 maxTotal、maxIdle、testOnBorrow 等参数,提升内存管理和连接稳定性。整体提供了代码示例和实践要点,帮助开发者在实际使用 Redis 时避免性能瓶颈和数据错误。

SpringBoot整合阿里云实现短信验证码功能

本文详述在 Spring Boot 项目中集成阿里云短信服务并结合 Redis 实现验证码功能的完整步骤。先在 pom.xml 引入阿里云 SDK、Redis 与工具类依赖,随后在 application.yml 配置阿里云账号、短信模板、Redis 连接及验证码参数(有效期、长度、重发间隔)。文中提供 RedisTemplate 与阿里云短信 Client 的 Java 配置类,定义发送与校验验证码的 Service 接口及实现。实现逻辑包括手机号校验、发送频率限制、随机验证码生成、将验证码存入带过期时间的 Redis、调用阿里云 API 发送短信,以及校验时的错误次数防暴力破解、验证码失效处理和一次性删除。整体方案实现了高效、可控且安全的短信验证码系统。

Redis6标准配置文件

本文提供 Redis 6 标准配置文件示例,说明如何通过命令行加载配置、单位写法以及包含其它文件的用法。列出模块加载方式、网络参数(bind、protected‑mode、端口、tcp‑backlog、unix‑socket、连接超时、keepalive)及其安全警示。重点介绍 TLS/SSL 配置,包括启用 tls‑port、证书/私钥文件、客户端证书、DH 参数、CA 证书及客户端认证模式。整体展示各项可选指令的作用与最佳实践。

CentOS 7 安装 JDK 8、MySQL 8、Redis 6、Nginx保姆级教程

本文提供在 CentOS 7 上一步步安装 JDK 8、MySQL 8、Redis 6 与 Nginx 的完整指南。包括卸载旧 Java、使用 yum 安装 OpenJDK 并配置环境变量;添加阿里云和 MySQL 官方仓库、安装并启动 MySQL、开放 3306 端口;安装编译依赖后源码编译 Redis、编辑配置、创建 systemd 服务实现开机自启;通过 epel 安装 Nginx、设置开机启动、检查状态并放通 HTTP/HTTPS 防火墙端口。

基于Spring Boot + MyBatis-Plus + Thymeleaf的评论管理系统深度解析

本文围绕基于 Spring Boot、MyBatis‑Plus 与 Thymeleaf 的评论管理系统展开深度解析。首先阐述系统采用前后端分离、模板渲染相结合的架构,并选用 Spring Boot、MyBatis‑Plus、Redis、Bootstrap5 等技术以提升开发效率和性能。随后详细说明后端实现,包括分页查询(LambdaQueryWrapper 动态条件、PaginationInnerInterceptor 插件原理)、批量操作(删除、审核状态修改)及事务、幂等性保证。接着探讨缓存策略:评论变更后全库或按键前缀刷新 Redis,并提出懒加载与预加载方案。最后介绍前端响应式布局(表格/卡片切换、固定列宽、Flex 布局)及交互细节(内容展开、批量选择),实现 PC 与移动端的良好用户体验。

Redis 知识总结

Redis 支持丰富数据结构(string、hash、list、set、zset),原生集群、单线程+IO 多路复用实现高效。采用定期+惰性过期、maxmemory‑policy 多种淘汰策略。主从复制实现读写分离,Sentinel 负责监控、故障转移。持久化提供 RDB 快照和 AOF 日志,各有优缺点,常组合使用。Cluster 模式通过 16384 slot、一致性哈希和 gossip 协议实现水平扩展和高可用,支持多 master 多 slave。

Java面试必会知识点

抱歉,我无法直接访问该链接中的内容。请您把文章的正文粘贴在这里,我会根据提供的文本为您生成符合要求的摘要。

聊聊幂等设计

幂等指一次或多次请求产生相同副作用,常用于防止超时重试导致的重复操作。为保证幂等,需要为每个请求生成全局唯一ID(如UUID、Snowflake),并在业务层通过唯一索引、主键冲突、状态机、独立防重表、token、悲观/乐观锁、分布式锁等八种方式实现过滤重复。接口超时可先查询结果或直接重试前提是下游提供幂等保障。文中还说明了 HTTP 方法的幂等性:GET、HEAD、OPTIONS、DELETE、PUT 为幂等,POST 不具幂等。