Redis
文章平均质量分 76
jc_hook
集中一点,登峰造极
展开
-
Redis高可用
最近离职后还没开始找工作,在找工作前去学习一下Redis高可用方案。原创 2023-04-17 16:42:02 · 885 阅读 · 0 评论 -
SpringCloud+Redis分布锁demo
在分布式(三)——实现分布式锁里说过可以通过redis实现分布式锁。构建一个redis实现的分布锁demo,直观的了解分布锁。原创 2022-06-28 14:20:02 · 471 阅读 · 0 评论 -
Spring基于注解整合Redis
前面SpringBoot+mybatis+redis项目示例中虽然实现了整合redis,但是太过繁琐对数据库操作的同时,都需要写相关的redis操作语句。于是了解到SpringCache的注解,使用注解可以节省很多功夫目录一、使用思路二、引入依赖三、配置文件四、配置类四、注解4.1 @EnableCaching4.2 @Cacheable4.3 @CachePut4.4 @CacheEvict一、使用思路查询:将查询出来的数据写入到缓存中,后续查询直接访问缓存插入:新增数据时,同时将数据写入原创 2022-04-27 13:33:30 · 1233 阅读 · 0 评论 -
分布式(三)——实现分布式锁
在分布式集群系统中,多线程、多进程分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效。所以提出可以跨机器互斥机制来控制共享资源的访问——分布式锁原创 2022-04-22 14:22:18 · 2040 阅读 · 0 评论 -
Redis进阶(一)——为什么redis这么快
在尝试了redis的相关操作,接下来我们需要进一步去了解redis的特性及其原理。如标题所言,为什么redis这么快?这是个面试常被问到的问题,虽然能靠自己的理解去回答,但还是记录一下。目录纯内存访问数据结构简单采用单线程IO多路复用技术纯内存访问redis把所有数据放在内存中,内存响应的速度非常快。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)数据结构简单对数据操作简单,Redis中的数据结构是专门进行设计的;采用单线程redis采用多单线原创 2022-02-14 19:00:00 · 676 阅读 · 0 评论 -
SpringBoot+Redis发布与订阅demo
随着了解了Redis入门(五)—— 发布与订阅尝试将redis和SpringBoot进行集成构建了一个简单的demo目录一、引入依赖二、编码2.1 定义接收信息接口2.2 消息处理类2.3 配置redis消息监听器2.4 定义消息发布者三、示例一、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-原创 2022-01-05 19:56:04 · 755 阅读 · 0 评论 -
Redis入门(五)—— 发布与订阅
目录一、何为发布与订阅二、命令三、示例一、何为发布与订阅Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。客户端1、客户端2、客户端3订阅频道1当有信息发送到频道时,频道会像订阅该频道的客户端发部消息二、命令命令描述SUBSCRIBE channel [channel …]定义一个或多个channel(频道)PUBLISH channel me原创 2021-12-20 17:27:51 · 701 阅读 · 0 评论 -
Springboot+redis乐观锁秒杀demo
基于SpringBoot使用Redis事务、Redis入门(四)—— 乐观锁尝试构建了一个简单的秒杀demo。目录一、逻辑设计二、编码2.1 Controller2.2 Service三、测试一、逻辑设计发起请求,购买对应的产品及数量接收参数,查询redis对应的key值(产品数量)使用watch监听key开始事务key值大于等于购买数量时,命令入队执行事务二、编码2.1 Controller用来接受网页端的请求@Controller@RequestMapping("/pr原创 2021-11-27 14:42:14 · 842 阅读 · 0 评论 -
Redis入门(四)—— 乐观锁
一、乐观锁乐观锁认为无论什么时候都不会出现问题,所以不会上锁,只是在更新数据的时候,会去比对某个字段,查询在这期间是否有人操作过这个数据。乐观锁主要用于抢红包,淘宝抢购,秒杀之类其他客户端每一次提交数据都会数据库的数据版本进行修改,当本次提交时会对版本进行比较,要是版本低于本次版本则会提示失败。不冲突冲突二、实现乐观锁通过watch实现乐观锁。开启两个终端:终端1:127.0.0.1:6379> set a 40OK127.0.0.1:6379>原创 2021-11-19 15:19:21 · 899 阅读 · 0 评论 -
SpringBoot使用Redis事务
通过SpringBoot+mybatis+redis项目示例了解了SpringBoot对redis的基本操作,昨天又了解了Redis入门(三)—— 事务趁着这个势头学习一下怎么在SpringBoot中使用Redis事务。查阅了网上的资料,主要是两种方法去在SpringBoot中使用Redis事务目录通过enableTransactionSupport(亲测无效,原因未知)通过SessionCallback通过enableTransactionSupport(亲测无效,原因未知)使用redisTe原创 2021-11-19 13:40:55 · 1711 阅读 · 3 评论 -
Redis入门(三)—— 事务
目录一、何为Redis事务二、 相关命令一、何为Redis事务Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。相较于关系型数据库事务,Redis只支持简单的事务,它通过MULTI、EXEC、DISCARD和WATCH等命令实现事务。Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:批量操作在发送 EXEC 命令前被放入队列缓存。收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交原创 2021-11-18 16:34:28 · 349 阅读 · 0 评论 -
Redis入门(二)——持久化
SpringBoot+mybatis+redis项目示例中学习了redis在框架中的基本使用后,我想到了一件很重要的事Redis的数据是存放在内存中,发生宕机后之前的数据会没了…顺着这个思路,了解到redis持久化目录一、 Redis持久化的意义二、 Redis持久化方式2.1 RDB持久化2.2 AOF持久化一、 Redis持久化的意义宕机后可以快速找回之前的数据,防止大量请求打入数据库,防止服务或系统宕机导致数据丢失。二、 Redis持久化方式Redis持久化的方式有两种:RDB持原创 2021-11-17 11:40:17 · 1179 阅读 · 0 评论 -
SpringBoot+mybatis+redis项目示例
注意:这个是基于IDEA之快速搭建SpringBoot+MyBatis项目开发的只是本人用来入门的学习示例,开发前请安装redis以及启动redis服务将redis作为缓存组件在项目中使用优先查询redis中是否存在该数据如果没有,则访问mysql数据库若mysql存在查询的数据,则返回数据,并将数据存放到redis中目录一、添加依赖二、 配置文件三、redis操作方式3.1 RedisTemplate3.1.1 redis相关类3.1.2 使用redis一、添加依赖<dep原创 2021-11-09 16:50:21 · 1609 阅读 · 0 评论 -
Java之连接Redis
从前面的学习,大致了解了redis。那么在开发过程中,java要操作redis数据库的话,第一步做什么呢?当然是连接redis啦~那么下面就是连接redis的一些较为基础的操作;目录一、导入依赖二、连接Redis2.1 连接Redis2.2 数据操作2.2.1 String2.2.2 list2.2.3 hash2.2.4 Set2.2.5 sorted Set三、示例代码一、导入依赖<dependency> <groupId>redis.clients&l原创 2021-08-10 15:12:47 · 4293 阅读 · 0 评论 -
Redis入门(一)——了解Redis
在各大公司的招聘中,经常在工作职责里看到要求熟悉Redis,为了更好的发展只能催促自己趁着有空学习和记录一下了。目录一、简介二、应用场景三、数据类型3.1 String一、简介Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库,全名叫RemoteDictionaryServer,使用C语言编写,是key-value存储系统,支持丰富的数据类型。二、应用场景Redis交换数据快,常用来存储频繁被调用的数据,这样就节省了系统在磁盘上获取原创 2021-07-19 10:17:33 · 601 阅读 · 4 评论