前两天刚刚学习了Shiro+Cas,正好ITOO项目Shiro+Cas+Redis是配合使用的。我把Redis顺便也学学。

 

概念

Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。

Redis从它的许多竞争继承来的三个主要特点:

Redis数据库完全在内存中,使用磁盘仅用于持久性。

相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。

Redis可以将数据复制到任意数量的从服务器。

 

Window下安装

1.下载Redis

下载地址:https://github.com/dmajkic/redis/downloads

下载完以后里面有64位的也有32位的,根据自己情况选择使用。(直接解压就可以使用)

2.运行Redis

打开cmd窗口,使用命令切换到Redis所在相应目录。使用redis-server.exe redis.conf 命令运行。如图:

redis界面管理工具 windows redis在windows使用_System


3.测试

重启另一个cmd窗口,切换到Redis目录下运行

切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。

设置键值对 set myKey abc

取出键值对 get myKey       如图:


redis界面管理工具 windows redis在windows使用_redis界面管理工具 windows_02



证明Redis服务端启动成功!

 

在Java中应用

1.下载驱动

Java redis驱动。下载驱动包jedis.jar。

 

2.创建项目

我在MyEclipse中创建了一个Java项目。并把驱动jedis.jar引进来。如图:


redis界面管理工具 windows redis在windows使用_redis界面管理工具 windows_03



(1)创建第一个项目测试redis连接情况


/**
 * 测试redis是否连接成功
 * @author xiao
 *
 */
public class RedisJava {
	
    public static void main(String[] args){
    	//连接本地的Redis服务
    	Jedis jedis = new Jedis("localhost");
    	System.out.println("Redis连接成功!");
        //查看服务是否运行
        System.out.println("服务器正在运行: "+jedis.ping());    
        
    }
}

测试结果:


redis界面管理工具 windows redis在windows使用_redis界面管理工具 windows_04



2 )字符串存储实例


/**
 * Redis Java String(字符串) 实例
 * @author xiao
 *
 */
public class RedisStringDemo {
	public static void main(String[] args) {
		// 连接本地的Redis服务
		Jedis jedis = new Jedis("localhost");

		// 设置redis字符串数据
		jedis.set("name", "xiao");

		// 获取存储的数据并输出
		System.out.println("字符串存储: " + jedis.get("name"));

	}
}

测试结果:

redis界面管理工具 windows redis在windows使用_System_05

(3)集合存储实例

/**
 * Redis Java List(集合) 实例
 * @author xiao
 *
 */
public class RedisListDemo {

	public static void main(String[] args) {
		// 连接本地的 Redis 服务
		Jedis jedis = new Jedis("localhost");

		// 存储数据到列表中
		jedis.lpush("tutorial-list", "Redis");
		jedis.lpush("tutorial-list", "Mongodb");
		jedis.lpush("tutorial-list", "Mysql");
		// 获取存储的数据并输出
		List<String> list = jedis.lrange("tutorial-list", 0, 2);
		for (int i = 0; i < list.size(); i++) {
			System.out.println("存储list集合: " + list.get(i));
		}
	}
}

测试结果:


redis界面管理工具 windows redis在windows使用_Redis_06


(4)Hash存储实例

/**
 * Redis Java Hash 实例
 * @author xiao
 *
 */
public class RedisHashDemo {
	public static void main(String[] args) {
		// 连接本地的Redis服务
		Jedis jedis = new Jedis("localhost");

		// 存储数据到Hash中
		Map<String,String> map=new HashMap<String,String>();
		map.put("name1", "xiao");
		map.put("name2", "erniu");
		map.put("name3", "ermengzi");
		jedis.hmset("map",map);
		
		// 获取存储的数据并输出
		Map<String,String> mapList = jedis.hgetAll("map");
		System.out.println("存储Map: " + mapList.get("name1"));
		System.out.println("存储Map: " + mapList.get("name2"));
		System.out.println("存储Map: " + mapList.get("name3"));

	}
}

测试结果:


redis界面管理工具 windows redis在windows使用_redis_07


这只是简单的小Demo,Redis的用处非常大,在接下来过程中继续探索。