前言
在网站中做UV
(用户访问记录)呢是必不可少的,传统方式呢,一般用过redis的hash(哈希)存储用户访问信息,对于访问量不大的系统来说呢,还是可以的,不至于把redis内存给撑爆
,为什么呢?
我们做一个分析,假如说淘宝一天的用户访问量是2个亿
,我们存储的是用户的IP地址,IP V4地址是15个字节
,我们来计算一下,需要多大的空间,2亿* 15=3G
,妈的,哈麻批
一天3G
,一个月就是3* 30=90G
, 那个程序员敢这么干,第二天就被辞了,哈哈!那么有什么更好的方法呢,请看下面分解:
解决方案
案例:
1)记录UV
Long uv= redisTemplate.opsForHyperLogLog().add("uv", ip);
2)统计UV
long uv=redisTemplate.opsForHyperLogLog().size("uv");
原理:
研究透了,再补上…