消费队列
RabbitMQ、Kafka、RocketMQ、ActiveMQ、Redis
唯空城
自检
展开
-
单线程Jedis管道实现批量写入数据
生产中的有些场景,我们经常需要大批量的往Redis中写入数据,如果我们采用单条循环写入的话,不仅效率低下,而且可能会出现频繁的创建和销毁redis连接,这些都是很不合理的.对此,我们可以采用Jedis的父类中的pipelined()方法获取管道,它可以实现一次性发送多条命令并一次性返回结果,这样就大量的减少了客户端与Redis的通信次数,可以有效的提高程序效率(但是,因为Redis要一次性返回所有结果,它会把这些结果都缓存起来,因此命令越多,缓存消耗的内存也会越大,具体还要视情况而定)原创 2022-10-28 14:51:49 · 1535 阅读 · 0 评论 -
Java整合kafka实现消费数据存入数据库
为了直观的显示效果,这里的配置均写死,生成环境中可写入配置。下面方法中除了创建【KafkaConsumer】的构造函数以外,还添加了订阅方法【subscribe】、消费消息方法【pool】、手动提交方法【commitSync】。然后线程运行时开始消费kafka,如果有返回值,则做进一步处理,其中用到了redis,可根据实际情况是否引用。其中消费消息方法的参数为【Duration】而不是【long】,查看源码得知参数为long的方法已弃用。这里主要将消费到的消息内容进行处理,然后创建一个延时队列。原创 2022-08-24 11:41:57 · 4514 阅读 · 0 评论 -
Redis实现登录验证,错误次数超过一定数后锁定账号
仅贴出关键代码Jedis jedis = new Jedis("192.168.1.105", 6379);@Overridepublic Map loginByUserName(String userName, String password) { //根据用户名获取用户信息 List<Map> list = this.userMapper.selectByUserName( userName ); if (list.size() == 0) { .原创 2021-11-29 18:26:13 · 1986 阅读 · 0 评论 -
解决方案:NOAUTH Authentication required
这个报错出现在Redis远程连接时没有设置密码。Redis远程连接:Jedis jedis = new Jedis("192.168.1.105", 6379);如果Redis没有设置密码则可以直接连接,若有密码则需要配置redis密码。解决办法:配置redis密码jedis.auth("123456");...原创 2021-11-29 16:23:46 · 1232 阅读 · 0 评论