博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring--Redis入门集成配置
阅读量:5991 次
发布时间:2019-06-20

本文共 5261 字,大约阅读时间需要 17 分钟。

hot3.png

一、什么是Redis?

这两年对于 NoSQL(not only SQL) 的使用已经越加频繁,所以对于Redis是什么我们也不会太过陌生。简单来说,Redis就是一个开源的,Key-Value数据库。它的存在主要是为了减少对SQL的读取,来提高服务器响应时间,典型的空间换时间策略。

二、Redis的安装与命令

这个太多,请看官网:             

教程: 

三、简单Java项目中的引用测试

1、导入Jar包: jedis-2.9.0.jar 、commons-pool2-2.5.0.jar

2、测试:

package redis;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import org.junit.Test;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public class RedisTest {	/**	 * 引入jar包:	 *     jedis-2.9.0.jar	 *     commons-pool2-2.5.0.jar 	 * 	 **/		/**	 * TODO Redis单例测试	 * @author geYang	 * @date 2018-04-07 16:39	 */	@Test	public void demo1() {		//设置IP和端口号		Jedis jedis = new Jedis("127.0.0.1", 6379);		//保存数据		jedis.set("name", "imooc");		//读取数据		System.out.println(jedis.get("name"));		//删除数据//		jedis.del("name");		System.out.println(jedis.get("name"));		//释放资源		jedis.close();	}			/**	 * TODO 连接池测试	 * @author geYang	 * @date 2018-04-07 16:41	 */	@Test	public void demo2() {		//连接池配置		JedisPoolConfig config = new JedisPoolConfig();		//设置最大连接数		config.setMaxTotal(10);		//设置最大空闲连接数		config.setMaxIdle(5);				//设置连接IP端口号		JedisPool pool = new JedisPool(config, "127.0.0.1", 6379);				Jedis jedis = null;				try {			jedis = pool.getResource();			jedis.set("name", "geYang");			System.out.println(jedis.get("name"));		} catch (Exception e) {			e.printStackTrace();		} finally {			if (jedis != null) {				jedis.close();			}			if (pool != null) {				pool.close();			}		}	}		/**	 * TODO Keys测试	 * @author geYang	 * @date 2018-04-08 10:24	 */	@Test	public void demo3() {		Jedis jeds = new Jedis("127.0.0.1", 6379);				Set
keys = jeds.keys("*"); Iterator
it = keys.iterator() ; while(it.hasNext()){ String key = it.next(); System.out.println(key); } jeds.close(); } /** * TODO List测试 * @author geYang * @date 2018-04-08 10:27 */ @Test public void demo4() { Jedis jedis = new Jedis("127.0.0.1", 6379); System.out.println("连接成功"); //存 jedis.lpush("mylist", new String[] {"1","2","3"}); jedis.lpush("mylist", "a"); jedis.lpush("mylist", "b"); jedis.lpush("mylist", "c"); //读 List
list = jedis.lrange("mylist", 0, -1); for (String str : list) { System.out.println(str); } jedis.close(); } /** * TODO Hash测试 * @author geYang * @date 2018-04-08 10:46 */ @Test public void demo5() { Jedis jedis = new Jedis("127.0.0.1", 6379); System.out.println("连接成功"); // jedis.hset("myhash", "tel", "18281916257"); HashMap
hashMap = new HashMap<>(); hashMap.put("sex", "man"); hashMap.put("address", "China"); jedis.hmset("myhash", hashMap); Map
map = jedis.hgetAll("myhash"); System.out.println(map); jedis.close(); } }

四、Spring中集成

1、Maven仓库:

redis.clients
jedis
2.9.0

2、spring-redis.xml(需要将该文件加载入spring上下文) ,  配置:

3、简单使用:

package com.gy.spring.mvc.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.gy.spring.mvc.service.RedisService;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;@Servicepublic class RedisServiceImpl implements RedisService {	@Autowired	private JedisPool jedisPool;		@Override	public String get(String key) {		Jedis jedis = jedisPool.getResource();		String value = null;		try {			value = jedis.get(key);		} catch (Exception e) {			e.printStackTrace();		} finally {			close(jedis);		}		return value;	}	@Override	public void set(String key, String value) {		Jedis jedis = jedisPool.getResource();		try {			jedis.set(key, value);		} catch (Exception e) {			e.printStackTrace();		} finally {			close(jedis);		}	}	@Override	public List
getList(String key,long start,long end) { Jedis jedis = jedisPool.getResource(); List
list = null; try { list = jedis.lrange(key, start, end); } catch (Exception e) { e.printStackTrace(); } finally { close(jedis); } return list; } @Override public void set(String key, List
value) { Jedis jedis = jedisPool.getResource(); try { } catch (Exception e) { e.printStackTrace(); } finally { close(jedis); } } @Override public void del(String key) { Jedis jedis = jedisPool.getResource(); try { jedis.del(key); } catch (Exception e) { e.printStackTrace(); } finally { close(jedis); } } /** * TODO 释放资源 * @param jedis * @author geYang * @date 2018-04-10 10:13 */ private void close(Jedis jedis) { if(jedis!=null) { jedis.close(); } } }

4、项目源码: 

转载于:https://my.oschina.net/u/3681868/blog/1796571

你可能感兴趣的文章
((uchar*)(Img1->imageData + Img1->widthStep*pt.y))[pt.x] 的 具体含义
查看>>
删除本地管理员组中除Administrator以外的用户
查看>>
ubuntu安装与测试hadoop1.1.0版本
查看>>
Eclipse下Maven工程多模块继承和聚合的创建
查看>>
CCNA(Stand-ALONE)Lab 25-Frame Relay Hub-and-Spoke Topology
查看>>
漫谈IBM Power VM历史及其特点
查看>>
Cocos Creator开发中的按钮节点的事件处理方法
查看>>
Java基础知识回顾-5 常用基础类
查看>>
看似努力,其实是在混日子_day02
查看>>
分析MAC*.a库文件信息
查看>>
win7小工具的安装路径怎么看?安装目录在哪里?安装位置在哪里?
查看>>
VDI序曲十三 将RemoteApp和桌面连接部署到开始菜单
查看>>
Linux网络相关配置文件
查看>>
android屏幕适配详解
查看>>
Lync Server 2013 Preview 安装体验(一)部署准备
查看>>
Bitlocker解锁后无需重启再次锁定驱动器的方法
查看>>
XenApp_XenDesktop_7.6实战篇之十九:安装、升级和配置StoreFront 3.0
查看>>
QCon日记
查看>>
软件单元测试工具比较
查看>>
asp:Button 使用背景图片
查看>>