前两天刚刚学习了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 命令运行。如图:
3.测试
重启另一个cmd窗口,切换到Redis目录下运行
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set myKey abc
取出键值对 get myKey 如图:
证明Redis服务端启动成功!
在Java中应用
1.下载驱动
Java redis驱动。下载驱动包jedis.jar。
2.创建项目
我在MyEclipse中创建了一个Java项目。并把驱动jedis.jar引进来。如图:
(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());
}
}
测试结果:
( 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"));
}
}
(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));
}
}
}
测试结果:
(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"));
}
}
测试结果:
这只是简单的小Demo,Redis的用处非常大,在接下来过程中继续探索。