redis实现记录页面访问信息

876 阅读2分钟

这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战

吃饱饭才有力气写代码~

前言

今天也是怀疑人生的一天,先是一个增加配置的需求,到现在也没理解这个配置的作用,代码和效果联系不上。然后是做这个记录页面访问信息的需求,也还不知道怎么实现,今天先简单捋一下~

思路

要实现的是记录用户访问系统的相关信息,主要是用户登录的时间,用户的id;系统是嵌在一个框架里的,整个应用首页上给我们的系统留了一个入口,点击入口进入到我们的系统,把这个算作一次登录;进入我们的系统首页初始化时会调用很多接口,选择其中一个每次初始化必须用到的接口,根据它的调用情况作为访问的依据,就是如果调用这个接口了,就可以记录当前使用者的信息。

实现

看大家都是使用AOP切面获取方法调用次数,使用注解的方式,在对应的controller上添加对应的注解,这样每次调用方法就会执行相应的操作(写入redis);
之后按时对redis里的数据做持久化处理;现在想的是用hash类型做数据处理,userId作为key;登录次数做累加处理;每次先查有没有对应的key,没有就新增,有就设置其中的次数;

image.png

1.put(H key, HK hashKey, HV value)	void	新增hashMap值。
2.values(H key)	List	获取指定变量中的hashMap值。
3.entries(H key)	Map<HK, HV>	获取变量中的键值对。
4.get(H key, Object hashKey)	HV	获取变量中的指定map键是否有值,如果存在该map键则获取值,没有则返回null5.hasKey(H key, Object hashKey)	Boolean	判断变量中是否有指定的map键。

总结

aop切面还没用过,这可能是一个难点;redis也没实际操作过,到时候应该会花点时间;持久化也没上手操作过。。。见的越多越发觉自己的无知和浅薄!等实现完再分享中间踩过的坑~