当前位置: 首页 > 后端技术 > Java

redis的这些常见场景你知道吗?

时间:2023-04-02 00:07:03 Java

1。CacheString类型例如:热点数据缓存(如报道、名人作弊)、对象缓存、全页缓存、访问数据等可以提高热点数据。2.数据共享DistributedString类型,因为Redis是分布式独立服务,可以在多个应用之间共享例如:DistributedSessionorg.springframework.sessionspring-session-data-redis3.分布式锁String类型的setnx方法,不存在才能添加成功,返回truepublicstaticbooleangetLock(Stringkey){Longflag=jedis.setnx(key,“1”);if(flag==1){jedis.expire(key,10);}returnflag==1;}publicstaticvoidreleaseLock(Stringkey){jedis.del(key);}4、全局IDint类型incrby,使用分库分表的原子incrbyuserid1000场景,以及一次取一个部分。写入Redis,然后定时同步到数据库。6、限流int类型,incr方法以访问者ip等信息为key,每次访问加一次,超过则返回false。7.String类型的Bitcount(1.6.6位图数据结构介绍)字符是setk1表示的a的二进制数的修饰asetbitk161setbitk170getk1/*67以8位二进制存储.a对应的ASCII码为97,转换后的二进制数据为01100001b对应的ASCII码为98,转换为二进制数据为01100010,因为该位非常节省空间(1MB=8388608位),可以用于对大量数据进行统计。*/例如:在线用户统计,保留用户统计setbitonlineusers01setbitonlineusers11setbitonlineusers20支持按位与,按位或等BITOPANDdestkeykey[key...],求一个或多个key的逻辑并集,and将结果保存到destkey。BITOPORdestkeykey[key...],对一个或多个键进行逻辑或,并将结果保存到destkey。BITOPXORdestkeykey[key...],对一个或多个键进行逻辑异或,并将结果保存到destkey。BITOPNOTdestkeykey,执行给定键的逻辑非并将结果保存到destkey。计算BITOP"AND""7_days_both_online_users""day_1_online_users""day_2_online_users"..."day_7_online_users"8、购物车Stringorhash。所有String能做的hash都可以作为imagekey:userid;字段:产品编号;值:产品数量。+1:阻碍。-1:hdecr。删除:hdel。全选:hgetall。项目数:hlen。9、用户消息时间线timelinelist,双向链表,当时间线使用即可。有序插入10.消息队列List提供了两种阻塞弹出操作:blpop/brpop,可以设置超时blpop:blpopkey1timeout移除并获取列表的第一个元素,如果列表中没有元素,该列表将被阻塞,直到等待超时或找到可弹出元素。brpop:brpopkey1超时删除并获取列表的最后一个元素。如果列表中没有元素,则列表将被阻塞,直到等待超时或找到弹出元素。上面的操作。其实就是java的阻塞队列。你学到的东西越多。学习成本越低,队列:高级先分:rpushblpop,左头右尾,右边入队,左边出队。如果上面的微博ID是t1001,用户ID是u3001,使用like:t1001来维护t1001。所有喜欢这条微博的用户都喜欢这条微博:sadd喜欢:t1001u3001取消喜欢:srem喜欢:t1001u3001是否喜欢:sismember喜欢:t1001所有喜欢u3001的用户:smembers喜欢:t1001喜欢:scard喜欢:t1001是不是简单多了数据库?13.商品标签图片老掉牙,使用tags:i5001维护所有商品标签。saddtags:i5001清晰细腻的图片saddtags:i5001真彩清晰显示saddtags:i5001processextreme14.商品筛选//获取差异集sdiffset1set2//获取交集(intersection)sinterset1set2//获取并集sunionset1set2pictureIf:iPhone13islaunchedsaddbrand:appleiPhone13sadbrand:iosiPhone13sadscreensize:6.0-6.24iPhone13sadscreentype:lcdiPhone13screensproducts,Apple,ios,screenbetween6.0-6.24,screenmaterialisLCDScreensinterbrand:applebrand:iosscreensize:6.0-6.24screentype:lcd15,用户关注度,推荐机型也关注了他(路口):sinter1:follow2:fans可能知道的人:user1可能知道的人(差集):sdiff2:follow1:followuser2可能知道的人:sdiff1:follow2:follow16,排名id为6001的新闻点击数加1:zincrbyhotNews:201909261n6001获取今天点击次数最多的15篇文章:zrevrangehotNews:20190926015withscores图片公众号:甄大虾,多分享java后台干货商品