Java八股刷题

发布时间:2026/5/19 12:57:46

Java八股刷题 3.Redis 数据类型1. String (字符串)特点最进本的数据类型可存储文本、整数或二进制数据最大512MB。常用命令SET、GET、INCR(自增)、DECR(递减)、APPEND追加、STRLEN应用场景缓存如HTML片段、用户会话计数器如文章阅读量、限流器分布式锁通过SENTNX实现2. Hash (哈希表)特点键值对的集合适合存储对象如用户信息常用命令HSET、HGET、HMSET批量设置、HGETALL、HDEL应用场景存储结构化数据如用户信息每个字段可单独修改节省网络开销无需传输整个对象3. List (列表特点双向链表支持按插入顺序排序的元素集合常用命令LPUSH/RPUSH(左头/右尾 插入)、LPOP/RPOP(弹出并返回)、LRANGE(范围查询)、BLPOP(阻塞式弹出应用场景消息队列结合LPUSHBRPOP最新消息排行如朋友圈动态4. Set (集合特点无序且唯一的元素集合支持交并差运算常用命令SADD添加自动去重、SMEMBERS获取集合中所有元素结果无序、SINTER交集、SUNION并集、SISMEMBER判断元素是否存在集合中应用场景标签系统如文章标签共同好友/关注列表交集运算5. Sorted Set 有序集合特点元素关联一个score(分数用于排序元素唯一但分数可重复常用命令ZADD、ZRANGE(从小到大排序)、ZREVRANK从大到小排序、ZSCORE获取分数值应用场景排行榜如游戏积分榜延时队列用时间戳作为score6. Bitmaps (位图)特点通过位操作0/1高效存储布尔型数据基于String实现常用命令SETBIT设置偏移量、GETBIT获取偏移量、BITCOUNT(统计字符串中值为1的位数量)、BITOP对多个Bitmap执行按位运算应用场景用户签到记录实时统计活跃用户7. HyperLogLog 基数统计特点概率型数据结构用于估算大规模数据的唯一元素数量误差约0.81%常用命令PFADD、PFCOUNT不重复数量、PFMERGE统计合集的基数应用场景统计独立访客UV大数据去重计数节省内存8. Geospatial (地理位置)特点存储经纬度信息支持距离计算、范围查询常用命令GEOADD、GEODIST(计算两个地理位置之间的距离m/km/mi/ft)、GEORADIUS附近的人应用场景附近商家推荐轨迹追踪9. Stream (流)特点Redis5.0引入支持多消费者组的消息队列类似Kafka常用命令XADD插入消息、XREAD从Stream中读取消息、XGROUP管理消费者组创建、删除、设置偏移量等应用场景异步任务队列事件溯源Event Sourcing总结Redis核心数据类型包括String:存储文本、数字、二进制数据List:双向链表支持队列和栈操作Hash:字段-值映射适合存储对象Set:无序唯一集合支持交并差运算Sorted Set:按分数排序的有序集合。扩展类型含Bitmaps、HyperLogLog、地理空间及Stream消息队列

相关新闻