Redis
王绍桦
不积跬步无以至千里!不积小流无以成江海!
展开
-
实现商品秒杀总结
业务场景 秒杀业务的特点就是开售瞬间大量用户的涌入,例如双十一抢购,短时间内会有大量用户涌入系统,例如一种只有500件的商品会有几百万用户在同时抢购,而最终抢购成功的用户只有500人,大多数用户都是抢购失败。业务分析 短时间内大量用户的高并发请求常常会压垮系统,而瓶颈就在于数据库,数据库每秒仅能支持几万的并发量,而对于抢购每秒百万千万的并发量根本不足以应对,所以...原创 2020-01-22 09:29:47 · 3609 阅读 · 3 评论 -
实现商品秒杀之——Redis+RabbitMQ消息队列
RabbitMQ消息队列 RabbitMQ是一套开源的消息队列服务软件,实现了高级消息队列协议(AMQP),服务器采用Erlang语言开发,支持多种客户端,如:Python、Ruby、Java、JMS、C#、PHP、JavaScript等。其特点包含:异步处理:通过把消息发送给消息中间件,消息中间件并不立即处理它,而是后续再慢慢处理 应用解耦:单个系统出现故障,消息队列也...原创 2020-01-21 11:14:24 · 2903 阅读 · 0 评论 -
实现商品秒杀之——Redis Lua脚本
Lua脚本 lua是一个小巧的脚本语言,其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能,lua由标准c编写而成,几乎在所有操作系统和平台上都可以编译、运行,reids2.6版本后内嵌了对lua环境的支持,解决了长久以来不能高效地处理cas(check-and-set)命令的缺点,并且可以通过组合使用多个命令,轻松实现以前很难实现或者不能高效实现的模式。...原创 2020-01-17 15:28:58 · 2360 阅读 · 1 评论 -
实现商品秒杀之——Redis Watch机制
Watch命令 watch命令可以监控一个或多个键,一旦其中有一个键被修改或删除,之后的事务就不会执行。监控一直持续到exec命令,事务中的命令是在exec之后才执行的,所以在multi命令后可以修改watch监控的键值。假设我们通过watch命令在事务执行之前监控了多个Key,这时在watch之后有任何Key的值发生了变化,exec命令执行的事务都将被放弃。在业务中的应用...原创 2020-01-16 18:28:30 · 2495 阅读 · 0 评论 -
实现商品秒杀之——Redis分布式锁
分布式锁 分布式锁是用来控制分布式系统对共享资源进行有序的操作,在分布式系统中,如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。 实现原理包含:互斥性:保证同一时间只有一个客户端可以拿到锁,也就是可以对共享资源进行操作 安全性:只有加锁的服务才能有解锁权限 避...原创 2020-01-09 11:11:56 · 766 阅读 · 0 评论 -
SpringBoot通过Jedis整合Redis
1.pom.xml添加Jedis依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId></dependency>2.application.properties添加Redis配置# Redis...原创 2019-11-27 10:44:47 · 364 阅读 · 0 评论 -
通过JedisPool整合redis
1.下载redis,地址:https://download.csdn.net/download/rexueqingchun/103247192.设置redis密码,修改redis.windows.conf配置文件,去掉requirepass foobared前面的注释 (注:foobared为默认密码,可以自定义密码,例如:123456)3.在redis目录中新建startup.bat,添加re...原创 2018-04-03 15:52:49 · 1662 阅读 · 0 评论 -
SpringBoot整合Redis实现Shiro分布式Session共享
前言:我们知道shiro有一套自身的session管理机制,默认的session是存储在运行jvm内存中的,在单应用服务器中可共享session,但系统若为分布式架构,则不同应用服务器之间无法共享session,要实现不同应用服务器之间共享session,则需要重写SessionManager中的SessionDao,把session存储在缓存中,这里我们采用redis来存储,引用shiro-...原创 2019-06-17 18:02:58 · 12206 阅读 · 28 评论 -
SpringBoot整合Redis缓存
1.pom.xml添加redis依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>2.appli...原创 2019-07-30 17:31:06 · 222 阅读 · 0 评论