Redis
文章平均质量分 89
吃胖点儿
“学会求知,学会做事,学会共处,学会做人。”致自己共勉 。技术探讨可以加281954986
展开
-
面试经常被问:redis的内存满了怎么办?
Redis占用内存大小我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。1、通过配置文件配置通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小//设置Redis最大占用内存大小为100Mmaxmemory100mbredis的配置文件不一定使用的是安装目录下面的redis.conf文件,启动redis服务的时候是可以传一个参数指定redi..原创 2021-02-21 09:20:22 · 157 阅读 · 0 评论 -
redis开发之跳表 skiplist的用法
前言跳跃表结构在Redis中的运用场景只有一个,那就是作为有序列表 Zset的使用。跳跃表的性能可以保证在查找,删除,添加等操作的时候在对数期望时间内完成,这个性能是可以和平衡树来相比较的,而且在实现方面比平衡树要优雅,这就是跳跃表的长处。跳跃表的缺点就是需要的存储空间比较大,属于利用空间来换取时间的数据结构。接下来我们思考三个问题:思考三个问题 跳跃表的底层结构是什么样的,为什么可以支撑它在对数期望时间内完成基本操作(增删改查)? 在跳跃表中,完成一个元素的增删改查的详细...原创 2020-07-05 23:12:16 · 325 阅读 · 0 评论 -
通彻的了解 Redis 6.0 的客户端缓存!
近日 Redis 6.0.0 GA 版本发布 ,包括了客户端缓存 (Client side caching)、ACL、Threaded I/O 和 Redis Cluster Proxy 等诸多更新。我们今天就依次聊一下客户端缓存的必要性、具体使用、原理分析和实现。为什么需要客户端缓存?我们都知道,使用 Redis 进行数据的缓存的主要目的是减少对 MySQL 等数据库的访问,提供更快的访问速度,Redis 的性能大致是普通关系型数据库的 10 ~ 100 倍。所以,如下图所示,Redis原创 2020-05-27 16:22:30 · 138 阅读 · 0 评论 -
Reids之实现秒杀逻辑,先到写得,随机请求
事务事务是保证事务内的所有命令是原子操作,一般配合watch使用,事务的执行结果和pipeline一样都是采用异步的方式获取结果,multi.exec()提交事务,如果执行成功,其返回的结果和pipeline一样是所有命令的返回值,如果事务里面有两个命令那么事务的exec返回值会把两个命令的返回值组合在一起返回。如果事务被取消返回null。 watch一般是和事务一起使用,当对...原创 2020-04-15 11:04:28 · 168 阅读 · 0 评论 -
Redis的高级特性4次优化,我把 Redis 性能 “压榨” 到极致!
我们有个这样的需求:每天每一个抢购商品只能买一次,并且全场抢购商品总购买次数不允许超过5次。那么,整个商品限购的流程大概如下图所示:那么,在每次购买成功商品成功后,发送的MQ大概是这样的(假设当前这笔订单有两件抢购商品): [{ "orderId": "2020020622000001", "orderTime": "1581001673012", ...原创 2020-03-19 18:46:04 · 137 阅读 · 0 评论 -
redis的高级特性亿级数据过滤和布隆过滤器
一、布隆过滤器简介上一次 我们学会了使用HyperLogLog来对大数据进行一个估算,它非常有价值,可以解决很多精确度不高的统计需求。但是如果我们想知道某一个值是不是已经在HyperLogLog结构里面了,它就无能为力了,它只提供了pfadd和pfcount方法,没有提供类似于contains的这种方法。就举一个场景吧,比如你刷抖音:你有刷到过重复的推荐内...原创 2020-03-13 21:56:53 · 1446 阅读 · 0 评论 -
Redis高级特性之神奇的HyperLoglog解决统计问题
一、HyperLogLog 简介HyperLogLog是最早由 Flajolet 及其同事在 2007 年提出的一种估算基数的近似最优算法。但跟原版论文不同的是,好像很多书包括 Redis 作者都把它称为一种新的数据结构(new datastruct)(算法实现确实需要一种特定的数据结构来实现)。关于基数统计基数统计(Cardinality Counting)通常是用来...原创 2020-03-12 22:45:54 · 1071 阅读 · 0 评论 -
redis性能问题分享
在一些网络服务的系统中,Redis 的性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系,都存储在 Redis 中,大量的查询击中 Redis,而不走 MySQL。那么,针对 Redis 服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费呢?Redis 性能的基本面在讨论优化之前,我们需要知道,Redis 服务本身就有一些特性...原创 2020-03-10 15:46:58 · 113 阅读 · 0 评论 -
一次线上 Jedis(Redis 客户端)异常的排查、定位、分析、解决!
本文导读: 应用异常监控 Redis客户端异常分析 Redis客户端问题引导分析 站在Redis客户端视角分析 站在Redis服务端视角分析 资源池生产配置合理性分析 本文总结 今天我们来聊聊线上环境遇到的一个问题以及分析过程。1应用异常监控这不,项目中有一个Redis客户端的异常在疫情期间,出现在了你的...原创 2020-02-16 19:51:05 · 909 阅读 · 0 评论 -
请谈谈Redis 9种数据结构以及它们的内部编码实现
90%的人知道Redis 5种最基本的数据结构;只有不到10%的人知道8种基本数据结构,5种基本+bitmap+GeoHash+HyperLogLog;只有不到5%的人知道9种基本数据结构,5.0最新版本数据结构Streams;只有不到1%的人掌握了所有9种基本数据结构以及8种内部编码;掌握这篇文章的知识点,让你成为面试官眼中Redis方面最靓的仔!说明:本文基于Redis-...原创 2020-01-10 12:07:10 · 559 阅读 · 1 评论 -
Raft协议实战之Redis Sentinel的选举Leader源码解析
Raft协议实战之Redis Sentinel的选举Leader源码解析 在这篇文章中:Raft协议选举流程 节点的状态 term RPC 选举流程 Sentinel的选举流程 选举流程 关于Sentinel超时时间的说明 Sentinel 选举流程源码解析 定时任务 向其他Sentinel获取投票或者获取对master存活状态的判断结果 检...原创 2019-02-21 17:52:35 · 401 阅读 · 0 评论 -
Redis的主从复制核心讲解
redis主从复制概述1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。2、通过redis的复制功能可以很好的实现数据库的读写分离,...原创 2019-02-21 17:31:47 · 119 阅读 · 0 评论 -
读完这篇文章,就基本搞定了Redis数据库
简单来说 Redis 就是一个数据库,不过与传统数据库不同的是 Redis 的数据是存在内存中的,所以存写速度非常快,因此 Redis 被广泛应用于缓存方向。作者:SnailClimb来源:Java 面试通关手册|2018-09-28 09:32 收藏 分享另外,Redis 也经常用来做分布式锁。Redis 提供了多种数据类型来支持不同的业务场景。除此之外,Redi...转载 2019-02-21 16:59:20 · 260 阅读 · 0 评论