发表于: 2017-09-03 23:58:16
1 863
【今日完成】
首先是把Redis引入IDEA工程中:
这里引入的是2.9.0版本的Redis,目前就这个版本比较好。
配置好Jar包后,就是关键的测试了!
那么首先测试一下能不能连接Redis。
这是一个单纯的测试连接的类。
然而效果是悲催的。
在连接成功之后就报错了,说明后面那个jedis.ping()方法执行不了,再看看错误信息:
写的连接异常,连接被拒绝。
这是怎么回事呢?首先我们来看看是不是可以打开Redis的端口服务,Redis端口号为
6379,这里Telnet一下
然而结果是无法访问端口啊,这里就说明,根本就无法启用Redis服务,那么就先不管IDEA里面是不是代码敲错了,先从Redis自身找原因。
找到了Redis的文件夹,里面有个
这个文件肯定是配置文件,没跑了。
打开配置文件,看一看是不是有什么地方出错了。
结果发现居然默认绑定了一个IP地址,这意思是只有这个IP地址才可以使用Redis咯,很遗憾我家里面IP不是这个,启动不了是正常的。于是直接注释掉这一行,看看效果。
特别注明:要使用Redis,可得先打开Redis服务,我就是在命令行中打开Redis,然后把它最小化就不管了,不然就算设置好,也无法使用。
这个时候jedis.ping()的返回值成功返回来了,可见方法以及通了,返回值是个字符串“PONG”,关于为什么是个“PONG”,其实我也没查到什么资料。
这里用一个类测试了Redis的三种数据结构:
第一种是字符串;
第二种是List;
第三种是Set(无序);
package main.core.Redis;
import redis.clients.jedis.Jedis;
import java.util.Iterator;
import java.util.Set;
import java.util.List;
public class Redis___Test {
public static void main(String[] args) {
//连接本地的 Redis 服务
int j =0;
if(j==0)
{
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//设置 redis 字符串数据
jedis.set("runoobkey", "www.ptt.com");
// 获取存储的数据并输出
System.out.println("redis 存储的字符串为: " + jedis.get("runoobkey"));
j++;
}else if(j==1) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//存储数据到列表中
jedis.lpush("site-list", "Runoob");
jedis.lpush("site-list", "Google");
jedis.lpush("site-list", "Taobao");
// 获取存储的数据并输出
List<String> list = jedis.lrange("site-list", 0, 2);
for (int i = 0; i < list.size(); i++) {
System.out.println("列表项为: " + list.get(i));
j++;
}
}else if(j==2){
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
// 获取数据并输出
Set<String> keys = jedis.keys("*");
Iterator<String> it=keys.iterator() ;
while(it.hasNext()){
String key = it.next();
System.out.println(key);
}
}else{
System.out.println("Over");
return ;
}
}
}
测试结果如下:
此为字符串
此为列表List
此为Set
至此在JAVA中基本的数据类型存储都已经搞定。
【今日收获】
在JAVA客户端使用Redis,实现了数据的存储与读取
【明日计划】
使用Redis完成压力测试,对比一下,和Memcached谁的性能更好
【任务进度】
本来想的是周日就提交任务的,但Redis配置那里耗费了很多时间
http://task.ptteng.com/zentao/project-burn-268.html
评论