排序
面试题:如何使用 Redis 统计大量用户唯一访问量(UV)?
统计大量用户的唯一访问量(UV,Unique Visitors)是一个常见的需求,尤其是在高并发的场景下。Redis 提供了多种数据结构和方法来实现 UV 统计,以下是几种常用的方案: 1. 使用 Set 数据结构 S...
面试题:Redis 中的 Geo 数据结构是什么?
Redis 的 Geo 数据结构是一种基于 Sorted Set(有序集合)实现的地理位置存储和查询功能。它允许存储经纬度坐标,并支持计算两个位置之间的距离、查找某个位置附近的其他位置等...
面试题:你在项目中使用的 Redis 客户端是什么?
在 Java 项目中,常用的 Redis 客户端有以下几种: 1. Jedis Jedis 是一个广泛使用的 Redis 客户端,提供了同步的 API,支持连接池和 Pipeline 等特性。 特点: 同步阻塞:所有操作都是同步的,...
面试题:Redis 字符串类型的最大值大小是多少?
在 Redis 中,字符串类型(String)是二进制安全的,这意味着它可以存储任何二进制数据,包括文本、图片、序列化对象等。Redis 字符串类型的最大值大小受以下两个因素限制: 1. 理论最大值...
面试题:Redis 性能瓶颈时如何处理?
当 Redis 遇到性能瓶颈时,需要从多个方面进行分析和优化。以下是一些常见的性能瓶颈原因及其处理方法: 1. CPU 瓶颈 原因: 复杂的命令(如 SORT、KEYS、LUA 脚本)消耗大量 CPU 资源。...
面试题:Redis 中 EMBSTR 对象的阈值设置为何为 44?其调整历史是什么?
在 Redis 中,EMBSTR(Embedded String)是一种特殊的内存优化编码方式,用于存储较短的字符串。它的设计目的是减少内存分配和碎片化,同时提高性能。EMBSTR 的阈值设置为 44 字节,...
面试题:Redis 中原生批处理命令(MSET、MGET)与 Pipeline 的区别是什么?
在 Redis 中,MSET、MGET 等原生批处理命令和 Pipeline 都是用来优化批量操作的,但它们的实现方式和适用场景有所不同。以下是它们的区别: 1. 原生批处理命令(MSET、MGET...
面试题:Redis 主从复制的常见拓扑结构有哪些?
Redis 主从复制(Replication)是一种常见的数据冗余和高可用性方案,它允许将数据从一个主节点(Master)复制到一个或多个从节点(Slave)。根据业务需求和规模,Redis 主从复制可以配置为多种...
面试题:Redis List 类型的常见操作命令有哪些?
Redis 的 List 类型是一个双向链表数据结构,支持在头部和尾部进行插入、删除和查询操作。以下是一些常见的 List 操作命令: 1. 插入元素 LPUSH key element [element...
面试题:如何在 Redis 中实现队列和栈数据结构?
在 Redis 中实现队列和栈数据结构可以通过使用 Redis 的列表(List)数据结构来实现。Redis 的列表是一个双向链表,支持在头部和尾部进行插入和删除操作,因此非常适合用来实现队列和栈。 1. 实...