一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现。 定义: 生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列,谁先抢到消息谁就会从队列中取走消息;即对于每个消息只能被最多一个消费者拥有。 发布者订阅者模式:发 ...
分类:
其他好文 时间:
2020-06-30 17:09:14
阅读次数:
106
在现代的编程语言中,接触过多线程编程的程序员多多少少对锁有一定的了解。简单的说,多线程中的锁就是在多线程环境下,多个线程对共享资源进行修改的时候,保证共享资源一致性的机制。这里不展开说。在分布式环境下,原来的多线程的锁就不管用了,也就出现了分布式锁的需求。所谓分布式锁服务也就是在分布式环境下,保证多个分布式的服务共享的资源一致性的服务。
分类:
编程语言 时间:
2020-06-17 01:47:26
阅读次数:
60
利用zooKeeper的节点写入之后不能再次写入的特点做分布式锁,也可以利用有序节点,然后判断当前的节点是否是最后一个节点,目前我所知道的就这两种,如果你有更好的,希望你能在下方评论里打出,或者给我一个连接 这儿只给出利用节点不能再次写入的特点的代码,话不多说,直接上代码 1 package upA ...
分类:
其他好文 时间:
2020-06-11 13:46:34
阅读次数:
60
1、为什么使用redis 分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去 ...
分类:
其他好文 时间:
2020-06-03 18:48:17
阅读次数:
56
一.核心重点 二.互动操作思路 1.前端向后端接口发起请求 2.后端接受请求,更加参数成功一个bat脚本,并用os命令执行他,利用redis中blpop或者brpop方法进行阻塞 `方法死的人是活的,这是我操作的方法,思路有了代码就简单了` ...
分类:
移动开发 时间:
2020-05-03 12:38:42
阅读次数:
209
简单来说, Redis就是一个数据库, 只不过是非关系型数据库, 而且数据是存储在内存中的.因此Redis的速度也很快, 被广泛用于缓存方面. 同时也常被用来做分布式锁. Redis支持多种数据类型, 可以支持不同的场景应用. 为什么用Redis/为什么用缓存? 主要从高并发和高性能两点来看 高性能 ...
分类:
其他好文 时间:
2020-04-20 13:47:16
阅读次数:
56
Redis相关知识 1、为什么使用redis 分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从 ...
分类:
其他好文 时间:
2020-04-12 17:03:00
阅读次数:
61
Redis是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的API。 与传统数据库不同的是redis的数据是存在内存中的,所以读写速度非常快,因此redis被广泛应用于缓存方向。另外,redis也经常用来做分布式锁。Redis提供了多种数据 ...
分类:
其他好文 时间:
2020-04-11 18:36:42
阅读次数:
54
为什么会有这个需求: 例如一个简单用户的操作,一个线程去修改用户状态,首先在在内存中读出用户的状态,然后在内存中进行修改,然后在存到数据库中。在单线程中,这是没有问题的。但是在多线程中由于读取,修改,写入是三个操作,不是原子操作(同时成功或失败),因此在多线程中会存在数据的安全性问题。 这个问题的话 ...
分类:
其他好文 时间:
2020-04-08 19:01:03
阅读次数:
66
https://www.jianshu.com/p/fe9a6c3bda4e 1、添加pom配置 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start ...
分类:
编程语言 时间:
2020-03-28 13:23:48
阅读次数:
87