springboot + redis(单机版)
本次和大家分享的是在springboot集成使用redis,这里使用的是redis的jedis客户端,如下添加依赖
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency>
然后需要redis的相关配置(这里我的redis密码是空)
spring: redis: single: 192.168.146.28:6378 jedis: pool: max-idle: 8 max-active: 8 max-wait: 3000 timeout: 3000 password:
这是redis的一般配置,具体调优可以设置这些参数,下面在JedisConfig类中读取这些设置
@Value("${spring.redis.single}") private String strSingleNode; @Value("${spring.redis.jedis.pool.max-idle}") private Integer maxIdle; @Value("${spring.redis.jedis.pool.max-active}") private Integer maxActive; @Value("${spring.redis.jedis.pool.max-wait}") private Integer maxAWait; @Value("${spring.redis.timeout}") private Integer timeout; @Value("${spring.redis.password}") private String password;
有上面的配置,就需要有代码里面设置下,这里创建一个返回JedisPoolConfig的方法
/** * jedis配置 * * @return */ public JedisPoolConfig getJedisPoolConfig() { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxIdle(maxIdle); #最大空闲数 config.setMaxWaitMillis(maxAWait); #最大等待时间 config.setMaxTotal(maxActive); #最大连接数 return config; }
有了配置,接下来就创建JedisPool,这里把JedisPool托管到spring中
/** * 获取jedispool * * @return */ @Bean public JedisPool getJedisPool() { JedisPoolConfig config = getJedisPoolConfig(); System.out.println("strSingleNode:" + this.strSingleNode); String[] nodeArr = this.strSingleNode.split(":"); JedisPool jedisPool = null; if (this.password.isEmpty()) { jedisPool = new JedisPool( config, nodeArr[0], Integer.valueOf(nodeArr[1]), this.timeout); } else { jedisPool = new JedisPool( config, nodeArr[0], Integer.valueOf(nodeArr[1]), this.timeout, this.password); } return jedisPool; }
上面简单区分了无密码的情况,到此jedis的配置和连接池就基本搭建完了,下面就是封装使用的方法,这里以set和get为例;首先创建个JedisComponent组件,代码如下
/** * Created by Administrator on 2018/8/18. */ @Component public class JedisComponent { @Autowired JedisPool jedisPool; public boolean set(String key, String val) { Jedis jedis = null; try { jedis = jedisPool.getResource(); return jedis.set(key, val).equalsIgnoreCase("OK"); } finally { if (jedis != null) { jedis.close(); } } } public <T> boolean set(String key, T t) { String strJson = JacksonConvert.serilize(t); if (strJson.isEmpty()) { return false; } return this.set(key, strJson); } public String get(String key) { Jedis jedis = null; try { jedis = jedisPool.getResource(); return jedis.get(key); } finally { if (jedis != null) { jedis.close(); } } } public <T> T get(String key, Class<T> tClass) { String strJson = this.get(key); return JacksonConvert.deserilize(strJson, tClass); } }
有了对jedis的调用封装,我们在Controller层的测试用例如下
@Autowired JedisComponent jedis; @GetMapping("/setJedis/{val}") public boolean setJedis(@PathVariable String val) { return jedis.set("token", val); } @GetMapping("/getJedis") public String getJedis() { return jedis.get("token"); }
运行set和get的接口效果如
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
flask学习笔记(一)
思来想去,还是放弃用word记笔记的习惯吧,写了又不会回头看。 虚拟环境 每创建一个项目,就一定要给该项目创建一个虚拟环境。 虚拟环境用来隔离项目之间因为版本不同而产生的差异。 Flask服务器搭建步骤 1、从flask包里面导入Flask类 2、实例化Flask。 我们管falsk的实例化对象叫app。括号里面的__name__是flask实例化核心对象的一个标志。 实例化时传入参数“__name__”的原因是让我们实例化的这个对象与其他对象有所区分(揣测的意思,以后看了源码可能会改) (课下了解:基于类的视图——即插视图) 3、视图函数实现的功能复用性不高,get一个新名词 “基于类的视图——即插视图” ,传送门(打马,以后仔细看看): http://docs.jinkan.org/docs/flask/views.html 扩展知识:重定向 将@app.route(/hello“)改成@app.route(/hello/“)就可以兼容用户输入网址时,末尾带“/”之后无法访问网页的弊端。 浏览器申请访问url1,服务器并没有把url1的资源返回给浏览器,而是返回一个url2的loc...
- 下一篇
学习JQuery
1. 重要基础 简写加载函数,事情必须在DOM加载之后,否则无法绑定对象 $(document).ready() $(function(){}); //推荐缩写 使用包括 JQuery 库外语法类似的 JavaScript 库时,注意命名冲突 Jquery.noConflict() var $$ = JQuery; //换成 $$ 调用Jquery函数 2. 基础选择器 (选择器使用css1,css2的全部选择器语法,以及部分css3语法。) 对 id 元素使用选择器: 默认对第一个元素外的其他元素"失明",返回第一个对象。 调用属性 .length 或函数 .size() 查看对象集合的数量 获取对象集合里的元素 .get(0) 或加下标 [0] 群组选择器: 逗号列举 $("label, #text, .blue") 后代选择器 $("#nav h4 span") $("#nav").find("h4").find("span") 子代选择器(只能是直接的父子关系) $("#nav > span") $("#nav").children("span") 获取 span 的下一...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池