redis
文章平均质量分 86
程序员大航子
现就职于抖音集团 | 在南方发展的不正经东北人 | 互联网苟且偷生的JAVA开发 | 面试人数超200人 | 关注我不迷路
展开
-
Redis底层数据结构详解
Redis底层数据结构详解我们知道Redis常用的数据结构有五种,String、List、Hash、Set、ZSet,其他的集中数据结构基本上也是用这吴红实现的,那么,这五种是Redis提供给你的数据结构,这五种数据结构式怎么实现的,你知道么?底层的底层,你有了解过吗?这些是五种数据结构底层使用的数据结构,我们可以看到,有很多底层使用了两种数据结构,比如set在元素较少,且都是数字的情况下会使用整数列表,数据增加会变成哈希表。那么这些底层的数据结构,你又了解多少呢?这个问题我们先放一下,你有没有一个原创 2021-05-06 23:37:39 · 10533 阅读 · 1 评论 -
Redis中的跳表是怎么回事
引子早些年笔者一次真实的美团面试经历。面试官:请问Redis有哪些数据结构?我:string、hash、list、set、zset、 bitmaps、hyperloglogs、geospatial、布隆过滤器。面试官:zset主要用什么应用场景?我:zset主要是一种有权重的set集合,因为每一个元素都可以有一个“分数”,redis提供了根据这个分数操作的api,比如取分数前几的啊,所以我们可以用作一些类似于排行榜的东西,比如点赞次数前几名的啦,,叭叭叭。面试官:嗯,,,那它的底层的数据结构原创 2021-05-06 00:07:48 · 3785 阅读 · 7 评论 -
布隆过滤器完全解读
布隆过滤器什么是布隆过滤器?布隆过滤器,可以理解成一种数据结构,这种数据结构可以用最小的内存空间,返回一个元素是否存在,但是有极小的误差,就是它说不存在,就一定不存在,它说存在,有很小的概率也是不存在的。布隆过滤器的实现原理布隆过滤器内部实现了一个很长的bit数组,你可能会说,既然很长,为什么占用的空间会很少的呢?一个bit位其实很小很小,比较8个bit才一个byte,1024个byte才1KB,1024KB才一个1M。然后布隆过滤器内部会维护很多hash函数,调用这些哈希函数会返回在这个bit原创 2021-05-04 00:22:54 · 705 阅读 · 1 评论 -
使用阿里云发送短信的实现
引言如何具体使用请参考我的这票博客 使用阿里云发送短信验证码(JAVA实现)具体业务功能实现逻辑有需要的小伙伴可以直接copy到自己的项目中,有任何问题都可以给我留言。servicepackage com.darwin.sms.service;public interface SendSmsService { /** * 发送验证码短信 * * @param phoneNumbers 接受的电话 */ void sendSms(St原创 2020-11-02 23:40:55 · 536 阅读 · 0 评论 -
redis实现排行榜功能 | 可直接复用
servicepackage com.darwin.redis.service;import java.util.List;import java.util.Map;/** * 排行榜接口类 * * @author yanghang */public interface LeaderBoardService<T> { /** * 向排行榜中批量添加元素 * * @param key 排行榜的键 * @param .原创 2020-11-01 21:26:24 · 548 阅读 · 1 评论 -
Jedis操作Redis八种数据类型的数据
时长敲一下,帮助回忆一下redis的命令,提神醒脑package com.darwin.redis.jedis;import redis.clients.jedis.BinaryClient;import redis.clients.jedis.GeoUnit;import redis.clients.jedis.Jedis;import java.util.HashMap;/** * Jedis操作REDIS数据库 * * @author yanghang */public.原创 2020-10-16 02:04:07 · 607 阅读 · 1 评论