redis 简介 简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 ...
分类:
其他好文 时间:
2019-10-07 19:56:59
阅读次数:
93
2019-09-24 1、为什么使用redis 分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要 ...
分类:
其他好文 时间:
2019-09-24 15:50:56
阅读次数:
54
如何在不同站点(web服务进程)之间共享会话 Session 呢,原理很简单,就是把这个 Session 独立存储在一个地方,所有的站点都从这个地方读取 Session。 通常我们使用 Redis 来解决这个问题 Spring Boot 2.1.8 Redis 5.0.3 "本项目源码 github ...
分类:
编程语言 时间:
2019-09-22 11:17:56
阅读次数:
91
利用redis List队列简单实现秒杀 PHP代码实现 2018年05月28日 11:37:46 m_nanle_xiaobudiu 阅读数 35674更多 分类专栏: Redis 利用redis List队列简单实现秒杀 PHP代码实现 2018年05月28日 11:37:46 m_nanle_ ...
分类:
Web程序 时间:
2019-09-21 19:34:42
阅读次数:
121
一、前言 之前写的一篇文章《细说分布式锁》介绍了分布式锁的三种实现方式,但是Redis实现分布式锁关于Lua脚本实现、自定义分布式锁注解以及需要注意的问题都没描述。本文就是详细说明如何利用Redis实现重入的分布式锁。 二、方案 死锁问题 当一个客户端获取锁成功之后,假如它崩溃了导致它再也无法和 R ...
分类:
其他好文 时间:
2019-09-21 17:20:39
阅读次数:
219
这里我们主要利用Redis的setnx的命令来处理高并发。 setnx 有两个参数。第一个参数表示键。第二个参数表示值。如果当前键不存在,那么会插入当前键,将第二个参数做为值。返回 1。如果当前键存在,那么会返回0。 创建库存表 设置初始库存为10 创建订单表 ab测试模拟并发,发现库存是正确的。 ...
分类:
其他好文 时间:
2019-09-07 10:19:03
阅读次数:
97
使用redisson做分布式锁 分布式锁 在java中单体应用中,我们如果想要保证一个接口或者服务、方法当下只有一个线程在运行,我们可以通过JDK提供的Lock、Semaphore、同步锁等多种方式实现只有一个线程在运行。 在微服务系统中,我们的单体应用会变成多个节点,只靠JDK本身的锁只能控制一个 ...
分类:
编程语言 时间:
2019-08-20 11:10:07
阅读次数:
116
一、写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验。所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对IP的检测。本文介绍的是利用Redis数据库实现的分布式爬虫,Redis是一种常用的菲关系型数据库,常 ...
分类:
编程语言 时间:
2019-08-19 09:54:32
阅读次数:
118
一、写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验。所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对IP的检测。本文介绍的是利用Redis数据库实现的分布式爬虫,Redis是一种常用的菲关系型数据库,常 ...
分类:
编程语言 时间:
2019-08-18 11:44:04
阅读次数:
79
上一篇写的是mongo分布式锁的bug, 发现网上使用mongo实现分布式锁方案有bug, 目前我还找到解决方案, 建议大家还是使用redis来实现 具体思路还是利用redis的setnx方法的安全性, 同一时刻永远只有一个线程能set成功. 加锁代码如下: ...
分类:
其他好文 时间:
2019-08-15 21:01:12
阅读次数:
107