lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Redis

摘要:压缩列表(ziplist)是 Redis 的一种内存紧凑型的数据结构,它是一个字节数组,可以包含任意多个元素,每个元素可以是一个字节数组或一个整数。 压缩列表的结构由多个字段组成,包括 zlbytes(压缩列表的字节长度),zltail(压缩列表尾元素的偏移量),zllen(压缩列表的元素数目),e 阅读全文
posted @ 2023-06-27 21:24 白露~ 阅读(1399) 评论(0) 推荐(0) 编辑

摘要:目录 一、Redis为什么快? 二、Redis合适的应用场景 三、Redis为什么6.0之前不支持多线程 四、Redis为什么6.0之后引入多线程 五、Redis有哪些高级功能 六、为什么需要使用Redis 七、Redis的事务 八、Redis的过期策略以及内存淘汰机制 九、什么是缓存穿透?如何避免 阅读全文
posted @ 2023-06-12 18:17 白露~ 阅读(400) 评论(0) 推荐(0) 编辑

摘要:背景: redis字典(hash表)当数据越来越多的时候,就会发生扩容,也就是rehash 对比:java中的hashmap,当数据数量达到阈值的时候(0.75),就会发生rehash,hash表长度变为原来的二倍,将原hash表数据全部重新计算hash地址,重新分配位置,达到rehash目的 re 阅读全文
posted @ 2023-06-12 18:08 白露~ 阅读(66) 评论(0) 推荐(0) 编辑

摘要:Redis底层数据结构之hash hash是日常开发过程中使用Redis的一个数据结构,其底层实现方式有两种,如下所示。一种是zipList,这种是当hash结构的V值较小的时候使用的编码方式。这个已经在上一篇文章中介绍过了。这篇文章主要讲解一下另外一种实现方式,字典dict,当hash结构的V值较 阅读全文
posted @ 2023-06-12 18:00 白露~ 阅读(53) 评论(0) 推荐(0) 编辑

摘要:Redis rehash 是什么? Redis rehash 是一种渐进式的哈希表扩展或收缩的机制,用于保持哈希表的负载因子在一个合理的范围内,提高哈希表的性能和空间利用率12。 哈希表是 Redis 的基础数据结构,用于存储键值对。哈希表由一个数组和一个链表组成,数组的每个元素是一个指向链表的指针 阅读全文
posted @ 2023-06-12 17:55 白露~ 阅读(557) 评论(0) 推荐(0) 编辑

摘要:简介: 本文将基于Redis提供条件查询+分页的技术解决方案。 导言 Redis是一个高效的内存数据库,它支持包括String、List、Set、SortedSet和Hash等数据类型的存储,在Redis中通常根据数据的key查询其value值,Redis没有模糊条件查询,在面对一些需要分页、排序以 阅读全文
posted @ 2023-06-12 15:44 白露~ 阅读(452) 评论(0) 推荐(0) 编辑

摘要:如何使用redis实现高效的分页功能 一、分页的需求和挑战 在很多场景下,我们需要对大量的数据进行分页展示,比如社交网络中的动态、电商平台中的商品列表、博客网站中的文章评论等。分页的目的是为了提高用户体验,让用户可以按照自己的喜好和需求来浏览数据,而不是一次性加载所有的数据,这样会造成网络和浏览器的 阅读全文
posted @ 2023-06-12 14:56 白露~ 阅读(6113) 评论(0) 推荐(1) 编辑

摘要:一. 缓存雪崩 1. 含义 同一时刻,大量的缓存同时过期失效。 2. 产生原因和后果 (1). 原因:由于开发人员经验不足或失误,大量热点缓存设置了统一的过期时间。 (2). 产生后果:恰逢秒杀高峰,缓存过期,瞬间海量的QPS(每秒查询次数)直接打到DB上,如果系统架构没有熔断机制,直接将导致系统全 阅读全文
posted @ 2023-03-17 13:09 白露~ 阅读(135) 评论(0) 推荐(0) 编辑

摘要:本文内容基于 Redis 6.0 以前的版本编写,因为 6.0 之后 Redis 在网络处理这一块采用了多线程模式,但是 I/O 多路复用的模型还在,变化不大。本文有不当之处,大家轻喷! Redis之I/O多路复用模型实现原理 Redis 的 I/O 多路复用模型有效的解决单线程的服务端,使用不阻塞 阅读全文
posted @ 2023-03-16 15:46 白露~ 阅读(201) 评论(0) 推荐(0) 编辑

摘要:Redis单线程 redis是以socket方式通信,socket服务端可同时接受多个客户端请求连接,也就是说,redis服务同时面对多个redis客户端连接请求,而redis服务本身是单线程运行。 假设,现在有A,B,C,D,E五个客户端同时发起redis请求,A优先稍微一点点第一个到达,然后是B 阅读全文
posted @ 2023-03-16 15:47 白露~ 阅读(148) 评论(0) 推荐(0) 编辑

摘要:为什么要清洁RedisRedis是基于内存上进行数据的操作的,并非像以往我们所安装的底层数据库一样存在磁盘上的。在机子中,缓存的容量是有限的。 比较起存储在磁盘,其可存储量会小很多很多,随着程序的运行,缓存的数据只会越来越多,而因为容量有限我们不能无节制的存下去,因此需要对部分缓存的数据进行清理,以 阅读全文
posted @ 2023-03-15 17:07 白露~ 阅读(1025) 评论(0) 推荐(0) 编辑

摘要:1.基于内存的key-value数据库2.基于c语言编写的,可以支持多种语言的api //set每秒11万次,取get 81000次3.支持数据持久化4.value可以是string,hash, list, set, sorted set 使用场景1. 去最新n个数据的操作2. 排行榜,取top n 阅读全文
posted @ 2022-12-11 22:14 白露~ 阅读(936) 评论(0) 推荐(0) 编辑

摘要:本文介绍SpringBoot如果通过Lua脚本去执行Redis,介绍简单用法例子,如对Lua脚本还不了解的可以先参考我这边文章Lua脚本快速入门更深层次的用法请参考Redis官网 1. 添加依赖 <dependency> <groupId>org.springframework.boot</grou 阅读全文
posted @ 2021-07-15 10:48 白露~ 阅读(571) 评论(0) 推荐(0) 编辑

摘要:【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】 如果你对Redis和Lua的关系不太清楚,请先阅读:Redis进阶之使用Lua脚本开发 1.RedisScript# 首先你得引入spr 阅读全文
posted @ 2021-07-15 10:29 白露~ 阅读(918) 评论(0) 推荐(0) 编辑

摘要:Redis进阶实践之七Redis和Lua初步整合使用 一、引言 Redis学了一段时间了,基本的东西都没问题了。从今天开始讲写一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运行在任何平台上,也可以嵌入到大多数语言当中,来扩展其功能。lua脚本是用C语言写的,体积很小,运行速 阅读全文
posted @ 2021-07-15 10:27 白露~ 阅读(558) 评论(0) 推荐(0) 编辑

摘要:一、简介 Redis中为什么引入Lua脚本?Redis是高性能的key-value内存数据库,在部分场景下,是对关系数据库的良好补充。Redis提供了非常丰富的指令集,官网上提供了200多个命令。但是某些特定领域,需要扩充若干指令原子性执行时,仅使用原生命令便无法完成。Redis 为这样的用户场景提 阅读全文
posted @ 2021-07-15 10:26 白露~ 阅读(792) 评论(0) 推荐(0) 编辑

摘要:一 介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一 阅读全文
posted @ 2021-06-23 16:20 白露~ 阅读(4762) 评论(1) 推荐(0) 编辑

摘要:一、I/O 概念 1.1 缓冲区 缓冲区是所有 I/O 的基础,I/O 讲的无非就是把数据移进或移出缓冲区;进程执行 I/O 操作,就是向操作系统发出请求,让它要么把缓冲区的数据排干(写),要么填充缓冲区(读)。 Java 进程发起 Read 请求加载数据大致的流程图 进程发起 Read 请求之后, 阅读全文
posted @ 2021-05-31 19:01 白露~ 阅读(196) 评论(0) 推荐(0) 编辑

摘要:在谈论Kafka高性能时不得不提到零拷贝。Kafka通过采用零拷贝大大提供了应用性能,减少了内核和用户模式之间的上下文切换次数。那么什么是零拷贝,如何实现零拷贝呢? 什么是零拷贝 WIKI中对其有如下定义: "Zero-copy" describes computer operations in w 阅读全文
posted @ 2021-05-31 18:58 白露~ 阅读(500) 评论(0) 推荐(0) 编辑