首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Redis
JavaEdge在掘金
创建于2021-10-31
订阅专栏
Redis
等 7 人订阅
共17篇文章
创建于2021-10-31
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Redis惰性删除源码解析
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第20天,点击查看活动详情 Redis缓存淘汰是为在Redis server内存使用量超过阈值时,筛选一些冷数据,从Redis s
Redis Reactor模型详解(上)
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情 Reactor模型是高性能网络系统实现高并发请求处理的一个重要技术方案。 1 Reactor模型 网络服
Redis可重入锁的实现设计
但是仍然有些场景是不满⾜的,例如⼀ 个⽅法获取到锁之后,可能在⽅法内调这个⽅法此时就获取不到锁了。这个时候我们就需要把锁改进成可 重⼊锁了。 重⼊锁,指的是以线程为单位,当⼀个线程获取对象锁之后,这个线程可以再次获取本对象上的锁,⽽其 他的线程是不可以的。可重⼊锁的意义在于防⽌死...
Redis Cluster集群应用与原理
Redis分布式集群图1 Redis分布式集群 Redis Cluster是一个实现了分布式且允许单点故障的Redis高级版本,没有中心节点,具有线性可伸缩的功能。节点与节点之间通过二进制协议进行通信,节点与客户端之间通过ascii协议进行通信。 在数据的放置策略上,Redis ...
Redis的持久化机制
Redis最常用的场景就是做缓存,把DB数据存储在内存,然后直接从内存读数据,这样系统响应就会很快。 风险是一旦服务器宕机,内存中数据将全部丢失。需要频繁访问DB,会给DB带来巨大压力这些数据是从慢速DB中读出来的,性能肯定比不上从Redis中读取,导致使用这些数据的应用程序响应...
Redis键过期策略、内存淘汰策略详解
未设置时间,则缓存永不过期设置过期时间,但之后又想让缓存永不过期,使用persist方法。设置key的过期时间。超时后,将会自动删除该key。在Redis的术语中一个key的相关超时是volatile的。超时后只有对key执行DEL、SET、GETSET时才会清除。所以,从概念上...
教你如何一步步分析Redis的架构设计
Redis本身内容繁杂,要是上来就研究一细节点,如连接池、数据结构,虽可直接学到某个点的详尽源码内容,甚至尽快解决一些事故,但容易溺死在细节汪洋,无法整体把控Redis。 最好是先建立起“架构”。
掌握Redis的Sentinel哨兵原理,助你拿到25k的offer!
1 Redis Sentinel的意义 master宕机了咋整?等运维手工从主切换,再通知所有程序把地址统统改一遍重新上线?那么服务就会停滞很久,显然对于大型系统这是灾难性的! 所以必须有高可用方案,
大厂Redis性能优化指南
拒绝bigkey(防止网卡流量、慢查询), string类型控制在10KB以内, hash、 list. set. zset元素 个数不要超过5000 多个业务系统,共用一个redis,还是应该分开。规划好key,特别是前缀,a.b.c.d 如果缓存数据变大了,就可以分区,但注…
全网最权威!Redis官方对比分布式缓存Redis V.S Memcached
看看 Redis 作者在 Stack Overflow 问答给出的几个对比维度。 平均到单核的性能,在单条数据不大时,Redis更快。以前因为Redis是单线程的,只能使用一个核。而Memcached是多线程的,所以对一个实例来说,性能上肯定是Memcached占优势。但现在R…
原来大厂都这么解决Redis缓存雪崩、缓存穿透、缓存击穿
等原因,可能导致缓存数据同一时刻大规模不可用,或者都更新。 在原有失效时间基础上增加一个随机值,比如1~5分钟的随机,这样每个缓存的过期时间重复率就会降低,集体失效概率也会大大降低。 大量并发查询不存在的KEY,导致都直接将压力透传到数据库。 为什么会多次透传呢?不存在一直为空…
都2021了还不懂Redis的网络通信协议?
Redis在TCP端口6379上监听到来的连接,客户端连接到来时,Redis服务器为此创建一个TCP连接。在客户端与服务器端之间传输的每个Redis命令或者数据都以\r\n结尾。 Redis接收由不同参数组成的命令。一旦收到命令,将会立刻被处理,并回复给客户端。 新的统一协议已…
原来大厂都这么使用Redis持久化!
Redis 对外提供数据访问服务时,使用的是常驻内存的数据。如果仅将数据存在内存,一旦宕机重启,数据全部丢失。 redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。持久化主要是做灾难恢复、数据恢复,可归类到高可用。 按指定时间间隔执行数据集的时间点快照,类似于My…
Redis实现附近的人
各种社交软件里面都有附件的人的需求,在该应用中,我们查询附近 1 公里的食客,同时只需查询出 20 个即可。 解决基于地理位置的搜索,很多数据库品牌都支持:MySQL、MongoDB、Redis 等都能支持地理位置的存储。 当用户登录应用时,或者保持用户登录后用户在使用应用时,…
使用Redis手写用户积分&&TopN排行榜功能
在用户签到的基础上添加用户积分,签到 1 天送 10 积分,连续签到 2 天送 20 积分,3 天送 30 积分,4 天以上均送 50 积分。 看上去实现简单,数据量小时运行也没大问题,但当数据量超过一定量后,就会出现很大延迟,毕竟 MySQL 查询要消耗大量 IO。 当将用户…
使用Redis的Bitmaps位图手写用户签到功能
大概一条数据 50B,可计算得到一千万用户连续签到五年,则为 800G 左右。 如果这样存数据,对于用户量大的应用,db可能扛不住,比如 1000W 用户,一天一条,那么一个月就是 3 亿数据,非常庞大。 Bitmaps,位图,不是 Redis 的基本数据类型(比如 Strin…
阿里面试官:使用Redis手写个feed流
朋友圈,微博,都是 Feed 流产品,还有图片分享网站 Pinterest,花瓣网等又是另一种形式的 Feed 流产品。很多 App 也都会有一个模块,叫动态或消息广场,这些也是 Feed 流产品。 Feed 流中的每一条状态或者消息。比如朋友圈中的一个状态就是一个 Feed,…