首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
redis学习笔记
upanddown
创建于2025-05-23
订阅专栏
redis学习笔记
暂无订阅
共22篇文章
创建于2025-05-23
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
redis原理篇——数据结构、网络模型、通信协议
1、原理篇-Redis数据结构 1.1 Redis数据结构-动态字符串 因为 C 语言中的字符串存在很多问题,Redis 构建了一种新的字符串结构,成为简单动态字符串(Simple Dynamic S
redis高级篇——最佳实践
1、Redis键值设计 1.1、优雅的key结构 Redis的Key虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式:[业务名称]:[数据名]:[id] 长度不超过44字节 不包含特殊
redis高级篇——多级缓存
多级缓存 1.什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: 请求要经过Tomcat处理,Tomcat的性能成为整个系统
redis高级篇——分片集群
Redis分片集群 搭建分片集群 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决: 海量数据存储问题 高并发写的问题 使用分片集群可以解决上述问题,如图: 分片集群特征: 集群中
redis高级篇——redis哨兵
对于主从集群模式,如果从库发生了故障,还有主库和其它的从库可以接收请求,但是如果主库挂了,就不能进行正常的数据写入并且数据同步也不能正常的进行。要避免这种问题就需要使用Redis的哨兵机制。 什么是哨
redis高级篇——分布式缓存之主从集群
基本配置 redis主要基于单线程,在同一个节点下的读和写可能会阻塞其他命令,造成性能上的影响。下面我们可以通过配置主从复制,让master结点实现写,并将数据同步到slave分节点中,在分节点实现读
redis高级篇——持久化
为什么需要持久化 Redis通常被作为缓存使用,但是Redis一旦宕机,内存中的数据全部丢失,可能会导致数据库崩溃。如果是从数据库中恢复这些数据就会存在频繁访问数据库和读取速度慢的问题。所以redis
redis实战——HLL实现uv统计
在各个项目中,我们都可能需要用到UV数据统计功能,这样可以使我们更加方便、快捷的查看网站的活跃度! 一、HyperLoglog基础用法 ⛅HyperLoglog 基本语法、命令 HyperLogLog
redis实战——geo实现附近商户排序
在点评项目中 如何 实现 附近商家的查询呢,展示出距离自己5公里内的商户,这样的功能如何实现? 答案是可以采用Redis 来实现,当然可能有很多实现方式,本文主要介绍如何使用Redis实现 附近商户的
redis实战——feed流实现收件箱滚动查询
思路 分页查询会重复查询 需求:在个人主页的“关注”卡片中,查询并展示推送的blog信息 这里是一个SortedSet集合当做收件箱,首先把这个score当成时间戳,value当成笔记的id 使用Zr
redis实战——feed流思路及实现
Feed流实现方案 当我们关注了用户后,这个用户发了动态,那么我们应该把这些数据推送给用户,这个需求,其实我们又把他叫做Feed流,关注推送也叫做Feed流,直译为投喂。为用户持续的提供“沉浸式”的体
redis实战——基于消息队列的异步秒杀
Redis消息队列-认识消息队列 消息队列:字面意思就是存放消息的队列。一般包括3个角色 消息队列:存储和管理消息,也被称为消息代理(Message Broker) 生产者:发送消息到消息队列 消费者
redis实战——基于java阻塞队列的异步秒杀
秒杀业务流程回顾 这里对之前的业务流程进行一下回顾: 当我们发起请求时,此时会请求nginx,nginx会访问tomcat,而tomcat中的程序会进行串行操作,分成如下几个步骤 查询优惠券 判断秒杀
redis实战——redisson主从一致问题
Redisson 主从一致性 我们先来说一下 Redis 的主从模式,Redis Master(主节点)中处理所有发向 Redis 的写操作(增删改),Redis Slave (从节点)只负责处理读操
redis实战——秒杀篇之redisson实现分布式锁
基于 Redis 的分布式锁优化 基于 setnx 实现的分布式锁存在的问题: 不可重入:同一个线程无法多次获取同一把锁(eg:方法A调用方法B,在方法A中先获取锁,然后去调用方法B,方法B也需要获取
redis实战——秒杀篇之分布式锁原子性问题及lua脚本解决方案
更为极端的情况 当工作线程1拿到锁之后,开始执行业务逻辑代码,执行结束后,正准备删除锁,并且已经通过了判断条件。 但是,此时他的线程遭到了阻塞,工作线程2开始进入并获取锁,执行业务逻辑。但是当线程1返
redis实战——秒杀篇之分布式锁
集群环境下的并发问题 在单机模式下,可以通过加锁来解决一人一单的并发安全问题,但是在集群模式下就不行了 我们将服务复制一份,端口分别为8081或者8082 2.然后修改nginx目录下的conf目录下
redis实战——秒杀之一人一单问题
需求 修改秒杀业务,要求同一张优惠券,一个用户只能下单一张 初步修改代码 首先我们按照要求把代码修改成如下,但是还有许多问题需要解决,这里仅仅只是满足了业务逻辑的要求 但是这样还是没能解决一人一单的问
redis实战——秒杀之超卖问题
超卖问题的分析 在多线程情况下执行这段代码(默认情况下,spring的bean是单例的) 可能会发生如下问题: 假如多个线程一起执行getStock方法,且此时stock为1的话,都可以通过if判读来
Redis实战——秒杀篇之全局唯一id
问题 每个店铺都可以发布优惠券,当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中。 而订单如果使用数据库的自增id就会存在问题。 自增id太明显 受到单标数量的限制 全局ID
下一页