
Redis
文章平均质量分 76
jc_hook
集中一点,登峰造极
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis高可用
最近离职后还没开始找工作,在找工作前去学习一下Redis高可用方案。原创 2023-04-17 16:42:02 · 953 阅读 · 0 评论 -
SpringCloud+Redis分布锁demo
在分布式(三)——实现分布式锁里说过可以通过redis实现分布式锁。 构建一个redis实现的分布锁demo,直观的了解分布锁。原创 2022-06-28 14:20:02 · 523 阅读 · 0 评论 -
Spring基于注解整合Redis
前面SpringBoot+mybatis+redis项目示例中虽然实现了整合redis,但是太过繁琐对数据库操作的同时,都需要写相关的redis操作语句。 于是了解到SpringCache的注解,使用注解可以节省很多功夫 目录一、使用思路二、引入依赖三、配置文件四、配置类四、注解4.1 @EnableCaching4.2 @Cacheable4.3 @CachePut4.4 @CacheEvict 一、使用思路 查询:将查询出来的数据写入到缓存中,后续查询直接访问缓存 插入:新增数据时,同时将数据写入原创 2022-04-27 13:33:30 · 1298 阅读 · 0 评论 -
分布式(三)——实现分布式锁
在分布式集群系统中,多线程、多进程分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效。 所以提出可以跨机器互斥机制来控制共享资源的访问——分布式锁原创 2022-04-22 14:22:18 · 2078 阅读 · 0 评论 -
Redis进阶(一)——为什么redis这么快
在尝试了redis的相关操作,接下来我们需要进一步去了解redis的特性及其原理。 如标题所言,为什么redis这么快?这是个面试常被问到的问题,虽然能靠自己的理解去回答,但还是记录一下。 目录纯内存访问数据结构简单采用单线程IO多路复用技术 纯内存访问 redis把所有数据放在内存中,内存响应的速度非常快。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) 数据结构简单 对数据操作简单,Redis中的数据结构是专门进行设计的; 采用单线程 redis采用多单线原创 2022-02-14 19:00:00 · 702 阅读 · 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 · 791 阅读 · 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 · 735 阅读 · 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 · 896 阅读 · 0 评论 -
Redis入门(四)—— 乐观锁
一、乐观锁 乐观锁认为无论什么时候都不会出现问题,所以不会上锁,只是在更新数据的时候,会去比对某个字段,查询在这期间是否有人操作过这个数据。 乐观锁主要用于抢红包,淘宝抢购,秒杀之类 其他客户端每一次提交数据都会数据库的数据版本进行修改,当本次提交时会对版本进行比较,要是版本低于本次版本则会提示失败。 不冲突 冲突 二、实现乐观锁 通过watch实现乐观锁。开启两个终端: 终端1: 127.0.0.1:6379> set a 40 OK 127.0.0.1:6379>原创 2021-11-19 15:19:21 · 952 阅读 · 0 评论 -
SpringBoot使用Redis事务
通过SpringBoot+mybatis+redis项目示例了解了SpringBoot对redis的基本操作,昨天又了解了Redis入门(三)—— 事务 趁着这个势头学习一下怎么在SpringBoot中使用Redis事务。 查阅了网上的资料,主要是两种方法去在SpringBoot中使用Redis事务 目录通过enableTransactionSupport(亲测无效,原因未知)通过SessionCallback 通过enableTransactionSupport(亲测无效,原因未知) 使用redisTe原创 2021-11-19 13:40:55 · 1772 阅读 · 3 评论 -
Redis入门(三)—— 事务
目录一、何为Redis事务二、 相关命令 一、何为Redis事务 Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。 相较于关系型数据库事务,Redis只支持简单的事务,它通过MULTI、EXEC、DISCARD和WATCH等命令实现事务。 Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证: 批量操作在发送 EXEC 命令前被放入队列缓存。 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。 在事务执行过程,其他客户端提交原创 2021-11-18 16:34:28 · 384 阅读 · 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 · 1216 阅读 · 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 · 1678 阅读 · 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 · 4403 阅读 · 0 评论 -
Redis入门(一)——了解Redis
在各大公司的招聘中,经常在工作职责里看到要求熟悉Redis,为了更好的发展只能催促自己趁着有空学习和记录一下了。 目录一、简介二、应用场景三、数据类型3.1 String 一、简介 Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库,全名叫RemoteDictionaryServer,使用C语言编写,是key-value存储系统,支持丰富的数据类型。 二、应用场景 Redis交换数据快,常用来存储频繁被调用的数据,这样就节省了系统在磁盘上获取原创 2021-07-19 10:17:33 · 639 阅读 · 4 评论