简介:案例实战需求之大数据下的用户画像标签去重
- 介绍
- 用户画像 英文为User Profile,是根据用户基本属性、社会属性、行为属性、心理属性等真实信息而抽象出的一个标签化的、虚拟的用户模型。“用户画像”的实质是对 “人”的数字化。
- 应用场景有很多,比如个性化推荐、精准营销、金融风控、精细化运营等等, 举个例子来理解用户画像的实际应用价值,我们经常用手机网购,淘宝里面的千人千面
- 通过“标签 tag”来对用户的多维度特征进行提炼和标识,那每个人的用户画像就需要存储,set集合就适合去重
- 用户画像不止针对某个人,也可以某一人群或行业的画像
- 利用redis可以很好的去重
下面是例子
/** * 用户画像去重 */ @Test public void userProfile(){ BoundSetOperations operations = redisTemplate.boundSetOps("user:tags:1"); operations.add("car","student","rich","dog","guangdong","rich"); Set<String> set1 = operations.members(); System.out.println(set1); operations.remove("dog"); Set<String> set2 = operations.members(); System.out.println(set2); }
输出结果——可以看到,他会自动的去重

继续来看下一个例子
/** * 社交应用 */ @Test public void testSocial(){ BoundSetOperations operationsLW = redisTemplate.boundSetOps("user:lw"); operationsLW.add("A","B","C","D","E"); System.out.println("老王的粉丝:"+operationsLW.members()); BoundSetOperations operationsXD = redisTemplate.boundSetOps("user:xd"); operationsXD.add("A","B","F","G","H","K","J","W"); System.out.println("小d的粉丝:"+operationsXD.members()); //差集 Set lwSet = operationsLW.diff("user:xd"); System.out.println("老王的专属用户:"+lwSet); //差集 Set xdSet = operationsXD.diff("user:lw"); System.out.println("小D的专属用户:"+xdSet); //交集 Set interSet = operationsLW.intersect("user:xd"); System.out.println("同时关注了两个人的用户:"+interSet); //并集 Set unionSet = operationsLW.union("user:xd"); System.out.println("两个人的并集:"+unionSet); //判断A用户是不是老王的粉丝 boolean flag = operationsLW.isMember("A"); System.out.println("A用户是不是老王的粉丝:"+flag); }
本文作者为DBC,转载请注明。