redis
文章平均质量分 54
redis
毅大师
java开发程序猿
展开
-
SpringBoot使用Aop实现分布式锁
前言:要是想对某个接口进行加锁操作,每次在方法前加锁,方法结束释放锁会显得很麻烦,这里可以基于AOP的环绕通知@Around实现功能。1、基于RedisTemplate实现封装分布式锁RedisTemplate实现setnx分布式锁https://blog.csdn.net/qq_39648029/article/details/1249262302、自定义注解import java.lang.annotation.ElementType;import java.lang.annot.原创 2022-05-24 11:26:12 · 6480 阅读 · 8 评论 -
RedisTemplate实现setnx分布式锁
RedisTemplate由于没有setnx指令,所以需要自定义脚本时间一、请直接复制package com.zy.base.utils;import lombok.extern.slf4j.Slf4j;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.script.DefaultRedisScript;import org.spri..原创 2022-05-23 14:28:48 · 11225 阅读 · 3 评论 -
Springboot使用Redis-Cell实现限流
一、Redis-Cell安装如下Redis-Cell限流插件安装(Centos)_毅呀毅呀哟-CSDN博客一、下载wget https://github.com/brandur/redis-cell/releases/download/v0.3.0/redis-cell-v0.3.0-x86_64-unknown-linux-gnu.tar.gz二、解压tar -zxvf redis-cell-v0.3.0-x86_64-unknown-linux-gnu.tar.gz三、得到如下四、复制.so文件的地原创 2021-11-10 16:27:43 · 4792 阅读 · 0 评论 -
Redis-Cell限流插件安装(Centos)
一、下载wget https://github.com/brandur/redis-cell/releases/download/v0.3.0/redis-cell-v0.3.0-x86_64-unknown-linux-gnu.tar.gz二、解压tar -zxvf redis-cell-v0.3.0-x86_64-unknown-linux-gnu.tar.gz三、得到如下四、复制.so文件的地址,在redis.conf文件中添加如下配置loadmodule /usr/l.原创 2021-11-10 13:15:57 · 3998 阅读 · 0 评论 -
集群下WebSocket消息推送的解决方案(springboot 基于Redis发布订阅)
一、背景单机节点下,WebSocket连接成功后,可以直接发送消息。而多节点下,连接时通过nginx会代理到不同节点。假设一开始用户连接了node1的socket服务。触发消息发送的条件的时候也通过nginx进行代理,假如代理转到了node2节点上,那么node2节点的socket服务就发送不了消息,因为一开始用户注册的是node1节点。这就导致了消息发送失败。为了解决这一方案,消息发送时,就需要一个中间件来记录,这样,三个节点都可以获取消息,然后在根据条件进行消息推送。二、解决方.原创 2021-01-26 11:16:14 · 13625 阅读 · 39 评论 -
spring boot + redis 接口访问频率限制
@Componentpublic class BlackInterceper implements HandlerInterceptor { @Autowired private RedisTemplate<String, Object> redisTemplate; private Logger log = LoggerFactory.getLogger(this.getClass()); @Override public boolean preHandle(Http.原创 2021-01-18 16:45:31 · 989 阅读 · 25 评论 -
redis统计各种活跃数据
前言:开发中有时候会遇到这种需求,比如获取每天的登录用户数量,谋篇文章的阅读数量等等,这个时候就需要进行数据统计。最简单的方法就是在登录接口、文章阅读接口中添加一个统计方法,进行数量+1的操作,但是访问量大了以后,对数据库承载量有一定影响,这个时候就需要用到redis了。redis中有一个指令:setbit,该指令的作用对于某个String类型的值,设置其指定偏移量(offset)上的值(...原创 2020-04-14 16:41:51 · 1204 阅读 · 0 评论 -
spring boot+redis 监听过期Key
前言:在订单业务中,有时候需要对订单设置有效期,有效期到了后如果还未支付,就需要修改订单状态。对于这种业务的实现,有多种不同的办法,比如:1、使用querytz,每次生成一个订单,就创建一个定时任务,到期后执行业务代码;2、rabbitMq中的延迟队列;3、对Redis的Key进行监控;1、引入依赖 <dependency> ...原创 2020-03-24 15:11:09 · 13744 阅读 · 109 评论 -
redis哨兵模式
修改sentinel.conf配置文件logfile "./log/sentinel.log" #日志文件地址sentinel monitor mymaster 172.16.19.1 6379 1 #mymaster(监控的主节点的名字) 127.0.0.1(监控的主节点的ip) 7000(监控的主节点的端口号) 2(故障发现,至少要多少个sentinel发现主节...原创 2019-12-30 14:28:18 · 286 阅读 · 0 评论 -
redis主从配置
1、首先安装redis1、安装编译环境yum install gcc-c++2、安装rediswget http://download.redis.io/releases/redis-4.0.2.tar.gz3、解压tar -zxvf redis-4.0.2.tar.gz4、进入redis安装目录后make2、配置redis找到如下配置进行修改:修...原创 2019-12-26 17:12:23 · 238 阅读 · 0 评论