redis
诸葛子房_
先后就职于京东和BAT,在大数据领域有多年工作经验;
Apache Griffin&&Apache Zeppelin Contributor,dataCompare和dataService作者
展开
-
redis分布式锁
1.使用setNx做分布式锁:setnx只能设置一次值,第二次会设置失败public Boolean setSecondTime(String key, String value, Long secondTime) { try { boolean flag= client.setNX(key, value); client.expi...原创 2019-12-26 09:47:13 · 224 阅读 · 0 评论 -
redis 数据结构
redis object 查看数据结构http://doc.redisfans.com/key/object.html原创 2019-12-12 20:19:51 · 124 阅读 · 0 评论 -
redis 布隆过滤器 判断一个数据是否在一个集合中
背景:讲个使用场景,比如我们在使用新闻客户端看新闻时,它会给我们不停地推荐新的内容,它每次推荐时要去重,去掉那些已经看过的内容。问题来了,新闻客户端推荐系统如何实现推送去重的?你会想到服务器记录了用户看过的所有历史记录,当推荐系统推荐新闻时会从每个用户的历史记录里进行筛选,过滤掉那些已经存在的记录。问题是当用户量很大,每个用户看过的新闻又很多的情况下,这种方式,推荐系统的去重工作在性能上跟...原创 2019-12-03 15:04:53 · 1476 阅读 · 0 评论 -
redis 过期策略
1.惰性删除通过主动去请求key,发现已经过期,主动删除2.LRU过期策略---最近最少使用概述:LRU 是Least Recently Used 的缩写,即最近最少使用,是内存管理的一种页面置换算法。算法的核心是:如果一个数据在最近一段时间内没有被访问到,那么它在将来被访问的可能性也很小。换言之,当内存达到极限时,应该把内存中最久没有被访问的数据淘汰掉。那么,如...原创 2019-11-28 18:58:33 · 95 阅读 · 0 评论 -
redis常用数据结构和操作
一、Stringget、set二、Listlpush三、setSADD key value 添加SMEMBERS key 获取所有集合所有value四、哈希 ---- 保存一个类hmset key field1 value1 field2 value2hget key field1 获取key的某个field的valuehgetall key 获...原创 2019-11-26 15:02:18 · 99 阅读 · 0 评论 -
HyperLogLog——用户日活(dau)、月活(mau)统计
HyperLogLog 是一种概率数据结构,用来估算数据的基数。数据集可以是网站访客的 IP 地址,E-mail 邮箱或者用户 ID。基数就是指一个集合中不同值的数目,比如 a, b, c, d 的基数就是 4,a, b, c, d, a 的基数还是 4。虽然 a 出现两次,只会被计算一次。精确的计算数据集的基数需要消耗大量的内存来存储数据集。在遍历数据集时,判断当前遍历值是否已经存在唯一...原创 2019-08-21 10:16:15 · 3670 阅读 · 0 评论 -
redis实现排行榜
因为项目需要开发,topN的功能,采用redis。参考如下文章开发排行榜功能是一个很普遍的需求。设想在一个游戏中,有上百万的玩家数据,如果现在需要你根据玩家的经验值整理一个前20名的排行榜,你会怎么做呢?你不可能 order by + limit 去实现select * from game_socre order by score desc limit 0,20 使用 Redi...原创 2019-07-30 18:53:44 · 339 阅读 · 0 评论 -
Redis 热点key
压测报redis 热点问题(1)本地缓存(2)redis分片(加随机值)参考:https://www.cnblogs.com/rjzheng/p/10874537.html热点问题概述产生原因热点问题产生的原因大致有以下两种: 用户消费的数据远大于生产的数据(热卖商品、热点新闻、热点评论、明星直播)。 在日常工作生活中一些突发的的事件,例如:双十一期间某些热门商品...原创 2019-05-24 00:15:00 · 1018 阅读 · 2 评论 -
Redis学习笔记
redis安装教程:http://www.runoob.com/redis/redis-install.htmlhttps://blog.csdn.net/derrantcm/column/info/18243/2memcached:开源分布式内存对象缓存系统1.redis 数据类型:(1)字符串set、get、append(如果 key 已经存在并且是一个字符串, APP...原创 2019-07-19 09:54:49 · 313 阅读 · 0 评论 -
redis安装
1.mac版本安装brew install redis2.启动redis-server /usr/local/etc/redis.conf3.测试、连接redis-cli ping 检查启动(pong)redis-cli 本机4.maven<dependency> <groupId>redis.clients</...原创 2019-07-18 09:54:50 · 321 阅读 · 0 评论