相关分享
ThinkPad + Redis:构建亿级数据毫秒级查询的平民方案
如何用普通设备实现海量数据的毫秒级查询?文章分享了在 ThinkPad 上构建 Redis 系统的完整方案,详细解析了数据分片、查询优化和资源调配等关键技术,还提供了针对高效查询的实际案例。轻量化实现,高性能表现,为开发者提供了实用的参考思路,值得深入学习!
Memcached的存储原理解析
最近工作上的需要,需要做一个LRU形式管理内存的分配器,首先想到的就是Memcached这个项目。早些年粗略的看过一些,有个大体的了解,这一次看下来发现其LRU算法做了不少的改动。
Redis高可用原理
Redis中为了实现高可用(High Availability,简称HA),采用了如下两个方式:
1、主从复制数据。
2、采用哨兵监控数据节点的运行情况,一旦主节点出现问题由从节点顶上继续进行服务。
浅谈Redis分布式锁(上)
不论面试还是实际工作中,Redis都是避无可避的技术点。在我心里,MySQL和Redis是衡量一个程序员是否“小有所成”的两把标尺。如果他能熟练使用MySQL和Redis,以小化大,充分利用现有资源出色地完成当下需求,说明他已经成长了。
本篇文章我们一起来探讨Redis分布式锁相关的内容。
说到锁,大家第一时间想到的应该是synchronized关键字或ReentrantLock,随即想到偏向锁、自旋锁、重量级锁或者CAS甚至AQS。一般来说,我不喜欢一下子引入这么多概念,可能会把问题弄复杂,但为了方便大家理解Redis分布式锁,这里稍微提一下。
textContent、innerText与innerHTML的区别
textContent、innerText 与 innerHTML 三个接口,在我们想要获取或改变一个 DOM 的内容时,经常会用到,有时候会搞混其中的用法,在此做个记录。
Filebeat中log和filestream的区别
在Elastic Stack中,Filebeat是一个轻量级的日志收集器,用于将日志数据从服务器发送到Elasticsearch或Logstash进行索引和分析。在Filebeat中,有两个不同的输入模块:log和filestream,它们用于处理不同类型的日志数据。
Redis 核心数据结构(二)
在上一篇文章: Redis 核心数据结构(1) 中,介绍了链表、ziplist、quicklist 数据结构。这篇文章,来介绍一下 skiplist、dict。
skiplist 跳跃表是一种有序数据结构,支持平均 O(logN)、最坏 O(N) 复杂度的节点查找;大部分情况效率可以和平衡树相媲美,实现却比平衡树简单。
跳跃表就是 Redis 中有序集合键的底层实现之一。
Redis 核心数据结构(一)
Redis 目前是使用最广泛的缓存中间件。其突出特点就是支持多种常见的数据结构。对比 JDK 集合类的实现,Redis 的实现表现出很多独到之处,很多地方设计得别具匠心。下面就来简要介绍一下。
Redis故障整理-既是热key也是大key导致网卡PPS过高
之前我们遇到过热key,命中了集群中的一组服务器,导致其网卡PPS超出了极限值,经常性出现redis响应变慢的问题。
我们随即对机器和网卡进行了升级,升级成多队列网卡,设置了4个CPU和网卡队里一一对应。
升级完以后,Redis的整体平均响应时间确实变短了,但是仍然会存在一些响应慢的情况出现,经过分析多张监控图的现象,我们发现Redis的QPS一直很稳定。
Redis过期Key、内存回收的一些细节
Redis可以说是一个内存级数据库,受限于物理内存的大小,我们会限制Redis对内存的使用,这在Redis中主要体现在以下两个方面:
1、删除已经过期的Key;
2、内存使用达到maxmemory上限时触发内存溢出控制策略;
