随笔分类 -  Redis

记录学习redis的内容
摘要:Redis是单线程的,但是为什么还那么快 Redis是纯内存操作,执行速度非常快 采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题 使用I/O多路复用模型,非阻塞IO 能解释下I/O多路复用模型? Redis是纯内存操作,执行速度非常快,它的性能瓶颈是网络延迟而不是执行速度, 阅读全文
posted @ 2024-01-08 13:53 自学Java笔记本 阅读(10) 评论(0) 推荐(0) 编辑
摘要:惰性删除 概述:当访问Key时,才去判断它是否过期,如果过期,直接干掉。这种方式对CPU很友好,但是一个key如果长期不用,一直存在内存里,会造成内存浪费。 set name xxxx 10 get name // 发现name过期了,直接删除 优点:对CPU友好,只会在使用该key时才会进行过期检 阅读全文
posted @ 2024-01-08 10:17 自学Java笔记本 阅读(40) 评论(0) 推荐(0) 编辑
摘要:缓存穿透 概念:查询一个不存在的数据,mysql查询不到数据也不会直接写入缓存,就会导致每次请求查数据库从而使得数据库压力过大,宕机 解决方案一: 缓存空数据,查询返回的数据为空,扔把这个空结果进行缓存例如格式:{key:xxx,value:null} 优点:简单 缺点:消耗内存,可能会发生不一致的 阅读全文
posted @ 2024-01-07 16:14 自学Java笔记本 阅读(45) 评论(0) 推荐(0) 编辑
摘要:## Redis分片集群 ### 概念 Redis分片集群是用于将Redis的数据分布在多个Redis节点上的分布式系统。通过分片集群,可以将数据分成多个部分,并将每个部分存储在不同的节点上,以便实现Redis的高可用性和高性能。 ### Redis分片集群原理 Redis分片集群原理是将数据分成多 阅读全文
posted @ 2023-08-28 13:23 自学Java笔记本 阅读(100) 评论(0) 推荐(0) 编辑
摘要:## 哨兵的作用和原理 Redis提供了哨兵机制来实现主从集群的自动故障恢复。哨兵的结构和作用如下: - 监控:sentinel 会不断检查你的master和slave是否按预期工作 - 自动故障恢复:如果master故障,sentinel会将一个slave提升位master。当故障实例恢复后也以新 阅读全文
posted @ 2023-08-27 20:23 自学Java笔记本 阅读(22) 评论(0) 推荐(0) 编辑
摘要:## Redis主从集群 主从复制模式就是,部署多台redis节点,其中只有一台节点是主节点(master),其他的节点都是从节点(slave),也叫备份节点(replica)。只有master节点提供数据的事务性操作(增删改),slave节点只提供读操作。所有slave节点的数据都是从master 阅读全文
posted @ 2023-08-27 16:47 自学Java笔记本 阅读(18) 评论(0) 推荐(0) 编辑
摘要:Redis 的持久化指的是将内存中的数据持久化到磁盘上,以便在 Redis 服务器重启或宕机时能够恢复数据。Redis 支持两种持久化方式:RDB 和 AOF。 ## RDB 持久化 RDB全称Redis Database Backup file (Redis数据备份文件),也被叫做Redis数据快 阅读全文
posted @ 2023-08-27 15:02 自学Java笔记本 阅读(103) 评论(0) 推荐(0) 编辑
摘要:## 场景引入: 两个概念: - UV:全程Unique Visitor,也叫独立访客量,是指通过互联网访问,浏览这个网页的自然人。1天内同一个用户多次访问该网站,只记录一次。 - PV:全称PageView,也叫页面访问量或点击量,用户每次访问网站的一个页面,记录一次pv,用户多次打开页面,则记录 阅读全文
posted @ 2023-08-26 16:07 自学Java笔记本 阅读(76) 评论(0) 推荐(0) 编辑
摘要:表结构: ``` CREATE TABLE `tb_sign` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint unsigned NOT NULL COMMENT '用户id', `year` 阅读全文
posted @ 2023-08-26 15:20 自学Java笔记本 阅读(218) 评论(0) 推荐(0) 编辑
摘要:### 概念 GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。 ### 常用命令 常见的命令有: - GEOADD:添加一个地理空间信息,包含:经度(longitude)、纬度(latitud 阅读全文
posted @ 2023-08-26 13:13 自学Java笔记本 阅读(95) 评论(0) 推荐(0) 编辑
摘要:## SortedSet的基本使用 Sorted set 也称Zset类型,是一种具有排序效果的set集合。它跟set集合一样也是 string 类型元素的集合,且不允许重复的成员。并且要求每个元素都会关联一个double 类型的分数。后续可以通过分数来为集合中的成员进行从小到大的排序。 Sorte 阅读全文
posted @ 2023-08-25 13:19 自学Java笔记本 阅读(115) 评论(0) 推荐(0) 编辑
摘要:## Redis消息队列 消息队列(Message Queue),字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色: - 消息队列:存储和管理消息,也被称为消息代理 - 生产者:发送消息到消息队列 - 消费者:从消息队列获取消息并处理消息 ![image](https://img2023 阅读全文
posted @ 2023-08-24 20:00 自学Java笔记本 阅读(185) 评论(0) 推荐(0) 编辑
摘要:在多线程的环境下,为了保证一个代码块在同一时间只能由一个线程访问,Java中我们一般可以使用synchronized语法和ReetrantLock去保证,这实际上是本地锁的方式。但是现在公司都是流行分布式架构,在分布式环境下,如何保证不同节点的线程同步执行呢? 实际上,对于分布式场景,我们可以使用分 阅读全文
posted @ 2023-08-15 20:05 自学Java笔记本 阅读(226) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示