![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 95
不愿意做鱼的小鲸鱼
路漫漫其修远兮,不以物喜,不以己悲,空杯心态,但使愿无违,,,
展开
-
Redis进阶——BitMap用户签到&HyperLogLog实现UV统计
UV:全称Unique Visitor,也叫独立访客量,是指通过互联网访问、浏览这个网页的自然人。1天内同一个用户多次访问该网站,只记录1次。PV:全称Page View,也叫页面访问量或点击量,用户每访问网站的一个页面,记录1次PV,用户多次打开页面,则记录多次PV。往往用来衡量网站的流量。通常来说PV会比UV大很多,所以衡量同一个网站的访问量,我们需要综合考虑很多因素。原创 2024-04-20 09:11:17 · 1163 阅读 · 0 评论 -
Redis进阶——GEO地理坐标&附近商户案例
GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有:* GEOADD:添加一个地理空间信息,包含:经度(longitude)、纬度(latitude)、值(member)* GEODIST:计算指定的两个点之间的距离并返回* GEOHASH:将指定member的坐标转为hash字符串形式并返回* GEOPOS:返回指定member的坐标* GEORADIUS:指定圆心、半径,找到原创 2024-04-20 09:07:27 · 1234 阅读 · 1 评论 -
Redis进阶——相互关注&Feed流推送
1、利用Redis中恰当的数据结构,实现共同关注功能,在博主个人页面展示出当前用户与博主的共同关注2、实现方式是使用的set集合,在set集合中,有交集并集补集的api,可以把二者关注的人放入到set集合中,然后通过api查询两个set集合的交集3、需要先修改之前的关注逻辑,在关注博主的同时,需要将数据放到set集合中,方便后期我们实现共同关注,当取消关注时,也需要将数据从set集合中删除原创 2024-04-20 09:03:20 · 755 阅读 · 0 评论 -
Redis进阶——点赞和点赞排行
同一个用户只能对同一篇笔记点赞一次,再次点击则取消点赞2. 如果当前用户已经点赞,则点赞按钮高亮显示(前端已实现,判断字段Blog类的isLike属性)原创 2024-04-20 08:57:54 · 851 阅读 · 0 评论 -
Redis进阶——redis消息队列
什么是消息队列?字面意思就是存放消息的队列,最简单的消息队列模型包括3个角色1. 消息队列:存储和管理消息,也被称为消息代理(Message Broker)2. 生产者:发送消息到消息队列3. 消费者:从消息队列获取消息并处理消息原创 2024-03-18 01:29:05 · 1086 阅读 · 0 评论 -
Redis实战——秒杀业务优化
如果充足,则在Redis中判断用户是否可以下单,如果set集合中没有该用户的下单数据,则可以下单,并将userId和优惠券存入到Redis中,并且返回0,整个过程需要保证是原子性的,所以我们要用Lua来操作,同时由于我们需要在Redis中查询优惠券信息,所以在我们新增秒杀优惠券的同时,需要将优惠券信息保存到Redis中。修改下单的操作,我们在下单时,是通过Lua表达式去原子执行判断逻辑,如果判断结果不为0,返回错误信息,如果判断结果为0,则将下单的逻辑保存到队列中去,然后异步执行。原创 2024-03-18 01:26:03 · 360 阅读 · 0 评论 -
Redis实战——分布式锁&Redisson
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式Java常用对象,还提供了许多分布式服务,其中就包含了各种分布式锁的实现Redis提供了分布式锁的多种多样功能可重入锁(Reentrant Lock)公平锁(Fair Lock)联锁(MultiLock)红锁(RedLock)读写锁(ReadWriteLock)信号量(Semaphore)原创 2024-03-18 01:22:02 · 691 阅读 · 0 评论 -
Redis实战——优惠券秒杀:超卖问题&一人一单问题
在各类购物App中,都会遇到商家发放的优惠券,当用户抢购商品时,生成的订单会保存到tb_voucher_order表中,而订单表如果使用数据库自增ID就会存在一些问题* id规律性太明显* 受单表数据量的限制* 如果我们的订单id有太明显的规律,那么对于用户或者竞争对手,就很容易猜测出我们的一些敏感信息,例如商城一天之内能卖出多少单,这明显不合适原创 2024-03-18 01:18:02 · 653 阅读 · 0 评论 -
Redis实战——查询缓存&缓存穿透、雪崩、击穿
为什么要使用缓存言简意赅:速度快,好用缓存数据存储于代码中,而代码运行在内存中,内存的读写性能远高于磁盘,缓存可以大大降低用户访问并发量带来的服务器读写压力实际开发中,企业的数据量,少则几十万,多则几千万,这么大的数据量,如果没有缓存来作为避震器系统是几乎撑不住的,所以企业会大量运用缓存技术但是缓存也会增加代码复杂度和运营成本原创 2024-03-18 01:13:38 · 336 阅读 · 0 评论