Spring Data Redis

SpringBoot整合Redis---Jedis版

此生再无相见时 提交于 2020-05-06 23:36:22
目录 介绍 Redis简介 Redis优势 SpringBoot和Redis 开发环境 pom文件引入 创建redis.properties配置文件 创建RedisConfig配置类 创建RedisUtil工具类 使用 效果 介绍 Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave模式的数据备份。 Redis优势 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。 丰富的特性 – Redis还支持 publish/subscribe, 通知,

Day2.MongoDB学习笔记2

梦想的初衷 提交于 2020-04-30 20:43:38
一、MongoDB副本集概要 什么是MongoDB副本集? 副本集是一组mongodb进程,它维护了同样的数据集。副本集提供了信息冗余和高可用,是所有生产部署的基础。 客户端,读写操作主节点,然后将数据复制到副节点中。 节点 Primary Node 主节点,一个副本集只能有一个主节点,主要作用接受客户端所有写操作(默认情况下,也可以读取数据),并记录主节点操作日志,副节点复制主节点日志,用其同步数据。 Secondary Node 副节点,复制主节点的操作,并同步其数据,实际上副节点是主节点数据的备份。如果主节点挂掉的话,剩余的副节点会触发选举算法,将其中的一个副节点,选举为主节点。 Replication 通信机制 Heartbeat 心跳检测,主副、副副间都要心跳检测 二、搭建MongoDB副本集(Replication) 主节点中插入一条数据,副节点当中查看是否有同步数据 准备工作,并启动起来三个服务 至少3台服务器 准备3份数据存放目录 //bin目录下,运行server,当作主服务器 ./mongod --port 28000 --dbpath=/data/node1/ --bind_ip_all --replSet rs //再分别启动两个副服务器 ./mongod --port 28001 --dbpath=/data/node2/ --bind_ip_all -

实例讲解Springboot以Repository方式整合Redis

♀尐吖头ヾ 提交于 2020-04-23 03:23:36
1 简介 Redis 是高性能的 NoSQL 数据库,经常作为缓存流行于各大互联网架构中。本文将介绍如何在 Springboot 中整合 Spring Data Redis ,使用 Repository 的方式操作。 代码结构如下: 2 整合过程 2.1 安装Redis数据库 为了节省时间,就直接通过 Docker 来安装了,可以参考文章: Docker安装Redis并介绍漂亮的可视化客户端进行操作 ,可以快速安装并使用客户端进行查看和操作。 2.2 引入相关依赖 我们引入 Springboot Web 的依赖,以启动REST服务。还需要引入 Spring Data Redis 相关的依赖。最后,还需要 commons-pool2 ,不然会因为缺少类而无法启动。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency>

Redis之JedisConnectionFactory通过哨兵发现master

余生长醉 提交于 2020-03-21 22:28:00
3 月,跳不动了?>>> JedisConnectionFactory中配置了哨兵后,会自动发现master节点,它是怎么做到的呢? 注:Spring-data-redis的版本: 1.8.7.RELEASE,Jedis的版本: 2.9.0.RELEASE 1.xml配置 List-1 properties文件省略了 <bean class="redis.clients.jedis.JedisPoolConfig" id="jedisPoolConfig"> <property name="maxTotal" value="${redis.maxTotal}"/> <property name="maxIdle" value="${redis.maxIdle}"/> <property name="numTestsPerEvictionRun" value="${redis.numTestsPerEvictionRun}"/> <property name="timeBetweenEvictionRunsMillis" value="${redis.timeBetweenEvictionRunsMillis}"/> <property name="minEvictableIdleTimeMillis" value="${redis

spring session connect factory异常

天大地大妈咪最大 提交于 2020-03-11 11:48:49
spring boot ,spring data redis , spring session redis 整合时,redis connectFactory配置异常,并且无法从文档中获得有效信息,RedisConnectionFactory 不论是Spring data redis 还是spring session redis 都应当是自动装配,两边都整合时表现如下: 如果不手动声明 @bean RedisConnectionFactory,无法启动项目,并没有异常抛出。 声明RedisConnectionFactory,走的是默认的localhost配置,不是根据yml装配,需要手动填写连接配置。 其实这个问题想解决简单,只需要手动声明RedisConnectionFactory并且手动从yml读取配置,但是明明可以自动装配为何要多此一步,导致这个问题的原因是什么呢?如何不声明RedisConnectionFactory解决?前面已经提到了,官方文档中无法获取有效的帮助,短时间内也不可能去研究spring data 和spring session自动装配原理,只能变着花样在google搜索,当然这种问题指望中文描述来搜索是不可能的,最终 查到解决方案如下: https://stackoverflow.com/questions/51915100/springboot-redis

kotlin使用spring data redis(七)

↘锁芯ラ 提交于 2020-03-05 22:15:05
使用GenericJackson2JsonRedisSerializer GenericJackson2JsonRedisSerializer是spring提供的一个类,直接配一下 @Bean fun redisTemplate(redisConnectionFactory: LettuceConnectionFactory): RedisTemplate<String, Any> { val template = RedisTemplate<String, Any>() val genericJackson2JsonRedisSerializer = GenericJackson2JsonRedisSerializer() template.keySerializer = StringRedisSerializer() template.valueSerializer = genericJackson2JsonRedisSerializer template.setConnectionFactory(redisConnectionFactory) return template } 先写入redis,发现写入没有问题 @Autowired private lateinit var redisTemplate: RedisTemplate<String, Any> /

Redis两天精通

两盒软妹~` 提交于 2020-02-26 10:45:37
001.NoSql的概念.mp4 002.Redis简介.mp4 003.Redis安装环境准备.mp4 004.Linux环境安装Redis.mp4 005.Redis的启动和关闭.mp4 006.Redis的可视化客户端.mp4 007.Redis多实例安装.mp4 008.Redis数据类型概述.mp4 009.Redis之String类型.mp4 011.Redis之List类型.mp4 012.Redis之Set类型.mp4 013.Redis之SortedSet类型.mp4 014.Redis之通用的key操作命令.mp4 015.Jedis简介.mp4 016.Jedis连接Redis数据库.mp4 017.Jedis使用连接池方式连接Redis数据.mp4 018.Jedis之对key的操作.mp4 019.Jedis之对String类型操作.mp4 020.Jedis之对List类型操作.mp4 021.Jedis之对Set类型操作.mp4 022.Jedis之对Hash类型操作.mp4 023.Jedis之对集合排序.mp4 024.SpringDataRedis简介.mp4 025.SpringDataRedis环境搭建.mp4 026.SpringDataRedis操作String类型数据.mp4 027.SpringDataRedis操作Set类型数据

spring项目配置redis

假如想象 提交于 2019-12-27 17:49:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在spring中集成lettuce需要引入三个依赖,spring-data-redis、lettuce和commons-pool2,引入时需要注意版本的关系,该文配置是在springframework5.1.8RELEASE 版本上配置的,其他版本的请自行修改上面三个依赖的版本号! pom配置 .... <org.springframework.version>5.1.8.RELEASE</org.springframework.version> <lettuce>5.1.6.RELEASE</lettuce> <spring.data.redis>2.1.9.RELEASE</spring.data.redis> <org.apache.commons.pool2>2.8.0</org.apache.commons.pool2> </properties> <dependencies> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>${spring.data.redis}</version> </dependency>

Java springboot B2B2C o2o多用户商城 springcloud架构 (十四)在springboot中用redis实现消息队列

不打扰是莪最后的温柔 提交于 2019-12-25 09:22:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 准备阶段 安装redis,可参考我的另一篇文章。 java 1.8 maven 3.0 idea 环境依赖 创建一个新的springboot工程,在其pom文件,加入spring-boot-starter-data-redis依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 创建一个消息接收者 REcevier类,它是一个普通的类,需要注入到springboot中。 public class Receiver { private static final Logger LOGGER = LoggerFactory.getLogger(Receiver.class); private CountDownLatch latch; @Autowired public Receiver(CountDownLatch latch) { this.latch = latch; } public void receiveMessage(String message) { LOGGER.info("Received <

SpringBoot:SpringDataRedis缓存改造

霸气de小男生 提交于 2019-12-19 11:37:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在做一个SpringBoot微服务的项目,为了加快接口响应速度,把ProdOffer-销售品数据,改造成Redis缓存。 一.修改 pom.xml 在项目pom中引入SpringDataRedis: <!-- SpringDataRedis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 二.修改 application.yml 添加Redis配置信息: redis: host: 192.168.195.135 port: 6379 三.代码改造 1.在 Service 中注入RedisTemplate @Autowired private RedisTemplate redisTemplate; 2.针对查询操作: 修改之前: return prodOfferDao.findById(id).get(); 首先从缓存中取,若没有取到,则查询DB并把结果放入缓存: // 从缓存中提取 ProdOffer prodOffer = (ProdOffer) redisTemplate.opsForValue