spring boot集成redis
转载自spring boot集成redis
springboot使用redis的配置application.yml连接池以及存取
第一步:添加pom文件依赖:
<!-- redis -->
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version>
</dependency>
第二步:配置application文件
jedis : pool : host : 127.0.0.1 port : 6379 config : maxTotal: 100 maxIdle: 10 maxWaitMillis : 100000
第三步:读取配置:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; @Configuration
public class RedisConfiguration { @Bean(name= "jedis.pool") @Autowired public JedisPool jedisPool(@Qualifier("jedis.pool.config") JedisPoolConfig config, @Value("${jedis.pool.host}")String host, @Value("${jedis.pool.port}")int port) { return new JedisPool(config, host, port); } @Bean(name= "jedis.pool.config") public JedisPoolConfig jedisPoolConfig (@Value("${jedis.pool.config.maxTotal}")int maxTotal, @Value("${jedis.pool.config.maxIdle}")int maxIdle, @Value("${jedis.pool.config.maxWaitMillis}")int maxWaitMillis) { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(maxTotal); config.setMaxIdle(maxIdle); config.setMaxWaitMillis(maxWaitMillis); return config; } }
第四步:调用工具类demo
import java.util.HashSet;
import java.util.Set;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool; /** * * @author Zhangyf* @param <T>* */
@Component
public class RedisClient<T> { @Autowired private JedisPool jedisPool; public void set(String key, String value) throws Exception { Jedis jedis = null; try { jedis = jedisPool.getResource(); jedis.set(key, value); } finally { //返还到连接池 jedis.close(); } } public String get(String key) throws Exception { Jedis jedis = null; try { jedis = jedisPool.getResource(); return jedis.get(key); } finally { //返还到连接池 jedis.close(); } } public void setobj(String key, T value) throws Exception { Jedis jedis = null; try { Set<T> set = new HashSet<T>();set.add(value);jedis = jedisPool.getResource(); jedis.sadd(key, String.valueOf(set));} finally { //返还到连接池 jedis.close(); } }
}
第五步:存取demo:
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import com.alibaba.fastjson.JSON;import yxm.zyf.love.domian.RoomDO;
import yxm.zyf.love.mapper.RoomMapper;
import yxm.zyf.love.redistool.RedisClient;
import yxm.zyf.love.utils.LoggerUtil;
import yxm.zyf.love.utils.StringUtil;
import yxm.zyf.love.utils.URLencord;
import yxm.zyf.love.vo.payVo;@RestController
public class hospitalpay {private final static Logger logger = Logger.getLogger(hospitalpay.class);//给类初始化日志对象@Autowiredprivate RoomMapper roomMapper;@Autowiredprivate RedisClient redisClinet;@ResponseBody@RequestMapping(value = "room")public RoomDO room() {RoomDO roomdo = null;try {roomdo = JSON.parseObject(redisClinet.get("room"), RoomDO.class);if (roomdo == null) {roomdo = roomMapper.selectByPrimaryKey(1);redisClinet.set("room", JSON.toJSONString(roomdo));}} catch (Exception e) {e.printStackTrace();}LoggerUtil.info(logger, "出参roomdo:{0}", roomdo);//打印info级别的日志System.out.println(roomdo);return roomdo;}
}
spring boot集成redis相关推荐
- Spring Boot集成Redis缓存之模拟高并发场景处理
前言 同样我们以上一篇文章为例子,搭建好环境之后,我欧美可以模拟高并发场景下,我们的缓存效率怎么样,到底能不能解决我们实际项目中的缓存问题.也就是如何解决缓存穿透? Spring Boot集成Redi ...
- Spring Boot集成Redis缓存之RedisTemplate的方式
前言 Spring Boot 集成Redis,将自动配置 RedisTemplate,在需要使用的类中注入RedisTemplate的bean即可使用 @Autowired private Redis ...
- Linux 安装Redis-6.2.5,配置及使用(RDB与AOF持久化、sentinel机制、主从复制、Spring Boot 集成 Redis)
CentOS 7 安装Redis-6.2.5版本 Redis采用的是基于内存的单进程 单线程模型 的KV数据库,由C语言编写.官方提供的数据是可以达到100000+的qps 应用场景: 令牌(Toke ...
- Spring Boot 集成 Redis 缓存
Spring Boot 集成 Redis 缓存 在此章,我们将 SpringBoot 集成 Redis 缓存,Redis是一个开源的,基于内存的数据结构存储,可以用作数据库.缓存和消息代理,在本章仅讲 ...
- 【第二十三篇】Spring Boot集成redis
1.1 简介 REmote DIctionary Server(Redis)是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言 ...
- Spring Boot集成Redis,这个坑把我害惨了!
最近项目中使用SpringBoot集成Redis,踩到了一个坑:从Redis中获取数据为null,但实际上Redis中是存在对应的数据的.是什么原因导致此坑的呢? 本文就带大家从SpringBoot集 ...
- Spring Boot集成Redis实现缓存
前言 在此章,我们将 SpringBoot 集成 Redis缓存,Redis是一个开源的,基于内存的数据结构存储,可以用作数据库.缓存和消息代理,在本章仅讲解缓存集成.一键获取源码地址 准备工作 当前 ...
- spring boot 集成 redis spring-boot-starter-data-redis 2.1.7.RELEASE jedis: pool: #连接池配置 及踩坑经验
目录 先上一些踩坑报错,各类报错 @org.springframework.beans.factory.annotation.Autowired(required=true) Error creati ...
- springboot 集成redis_一文详解Spring Boot 集成 Redis
redis设置: 修改redis服务器的配置文件 vim /usr/local/redis/bin/redis.confbind 0.0.0.0 protected-mode no 重新启动redis ...
- Spring Boot集成Redis缓存之注解方式
首先还是加入依赖Jar pom.xml中加入依赖 <!-- 加载spring boot redis 包 --><dependency><groupId>org.sp ...
最新文章
- 用JTAG将mcs文件烧写到flash中
- chmod命令用法_关于chmod(变更用户对此文件的相关权限)超详细说明,小白秒懂
- springboot项目实战_2019学习进阶之路:高并发+性能优化+Spring boot等大型项目实战...
- Daily Scrum 11.18
- 我有文章了,但也不想搞学术了
- 猎豹浏览器网页声音怎么关闭
- 虚拟机 centos 7 nginx安装
- TCP 从客户端键入信息 循环接收发送 示例
- 增广最小二乘法 matlab 东南大学,各种最小二乘法总结(算法+matlab源码)
- go语言垃圾回收机制详解
- fpga与三八译码器(BASYS3 VIVADO18)
- thread/threading——Python多线程入门笔记
- 边缘检测法之Roberts算子
- PCB设计经典资料学习汇总
- python安装mysql-python报错解决方法
- FastDFS文件服务器升级内置nginx版本
- 电瓶升级问题:在本节最后一个electric_car.py版本中,给Battery类添加一个名为upgrade_battery()的方法。这个方法检查电瓶容量,如果它不是85,就将它设置为85。
- 微型计算机的安装步骤,技嘉微型电脑BRIX BSi3H-6100黑苹果安装详细教程
- 动态链接库(dlopen、dlsym、dlclose)(Linux)
- APP运营如何实现流量变现,获取更高收益?