说起Redis,大家脑海里第一反应应该都是--缓存,Redis最常见的用法就是缓存了。 在高并发的服务中,MySQL通常是服务性能的瓶颈,这个瓶颈的常规解法是给MySQL添加个Redis缓存,减缓MySQL的数据读压力。 不过,Redis不仅仅可以作为缓存使用,它还有更多的超强用途。这些用途,在工作或者我们的面试中都有可能遇到,想升职加薪,赢得面试官的青睐,学好它准没错! 本文主要讨论Redis
如果没有反向代理,一台Redis可能需要跟很多个客户端连接: 看着是不是很慌?看没关系,主要是连接需要消耗线程资源,没有代理的话,Redis要将很大一部分的资源用在与客户端建立连接上,redis的高可用和可扩展无论是自带的Redis Sentinel还是Redis Cluster都要求客户端进行额外的支持,而目前基本上没有合适的客户端能够做这些事情,客户端来做这些事情也并不合适,它会让维护变得特
在移动应用的业务场景中,我们需要保存这样的信息:一个 key 关联了一个数据集合,同时还要对集合中的数据进行统计排序。 常见的场景如下: 给一个 userId ,判断用户登陆状态; 两亿用户最近 7 天的签到情况,统计 7 天内连续签到的用户总数; 统计每天的新增与第二天的留存用户数; 统计网站的对访客(Unique Visitor,UV)量 最新评论列表 根据播放量音乐榜单 通常情况下,我们
浅析 Redis 底层数据结构 (qq.com) 聊一聊Redis数据结构的底层实现 (qq.com) Redis 是高性能内存数据库,我们一直都说 Redis 很 “快”,那为什么快呢?首先 Redis 是内存操作(内存随机读写速度是纳秒级的,磁盘随机读写是毫秒级的),其次在网络 IO 处理方面采用多路复用的技术(一个线程处理多个连接),单线程处理读写操作既保证线程安全又能省去线程切换带来的开销
NoSQL基础知识总结 | JavaGuide(Java面试 + 学习指南) NoSQL 是什么? NoSQL(Not Only SQL 的缩写)泛指非关系型的数据库,主要针对的是键值、文档以及图形类型数据存储。并且,NoSQL 数据库天生支持分布式,数据冗余和数据分片等特性,旨在提供可扩展的高可用高性能数据存储解决方案。 一个常见的误解是 NoSQL 数据库或非关系型数据库不能很好地存储关系型数
面试官:Redis为什么这么快? (qq.com) ”因为它是内存数据库,不用往硬盘上写,所以快啊“ “基于内存实现”这个原因就不详细展开了哈,毕竟地球人都懂。 空间换时间 —— SDS数据结构 这里所说的空间为”内存空间“。 Redis是用C语言写的,但它的String数据类型,并没有直接用C语言中的char*字符数组字符串,而是通过简单动态字符串(Simple Dynamic String,
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号