总的学习教程:http://www.runoob.com/redis/redis-tutorial.html
该教程系统性地囊括了Redis的各个方面,适合入门。
1. 安装,教程链接:http://www.runoob.com/redis/redis-install.html
我把安装包解压到路径:C:\Program Files\Redis-x64-3.2.100
测试是否成功:
cmd窗口1:服务器端启动
cd C:\Program Files\Redis-x64-3.2.100
redis-server.exe redis.windows.conf
cmd窗口2:客户端连接
cd C:\Program Files\Redis-x64-3.2.100
redis-cli.exe -h 127.0.0.1 -p 6379
2. Java中使用redis(初级1)
参考链接:http://www.runoob.com/redis/redis-java.html
Step1-- 导入包:jedis-2.9.0.jar
Step2—服务器端启动redis, 如 1.的cmd窗口1 所示
Step3—java中使用redis,代码如下:
1)
/*
* 查看服务是否运行
* http://www.runoob.com/redis/redis-java.html
*/
package redis.mydemo;
import redis.clients.jedis.Jedis;
public class Redis1
{
public static void main(String[] args)
{
// 连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
// 查看服务是否运行
System.out.println("服务正在运行: " + jedis.ping());
}
}
2)
/*
* 设置 redis 字符串数据
* http://www.runoob.com/redis/redis-java.html
*/
package redis.mydemo;
import redis.clients.jedis.Jedis;
public class Redis2
{
public static void main(String[] args)
{
// 连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//设置 redis 字符串数据
jedis.set("lucky", "2 years old");
jedis.set("lucy", "12 years old");
// 获取存储的数据并输出
System.out.println("redis存储的字符串为:"+jedis.get("lucky")+"\n"+jedis.get("lucy"));
}
}
3)
/*
* 数据存储在列表
*/
package redis.mydemo;
import java.util.List;
import redis.clients.jedis.Jedis;
public class Redis3
{
public static void main(String[] args)
{
// 连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
// 存储数据到列表
jedis.lpush("site-list", "Lucky");
jedis.lpush("site-list","XiaoBai");
// 获取存储的数据并输出
List<String> list = jedis.lrange("site-list", 0 ,2);
for(int i=0; i<list.size(); i++)
{
System.out.println("列表项为: "+list.get(i));
}
}
}
4)
/*
* Redis Keys
* http://www.runoob.com/redis/redis-java.html
*/
package redis.mydemo;
import java.util.Iterator;
import java.util.Set;
import redis.clients.jedis.Jedis;
public class Redis4
{
public static void main(String[] args)
{
//连接本地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);
}
}
}
3. Java中使用redis,涉及redis连接池(初级2)
1)原理 -- 为什么使用连接池?
参考:Redis连接池理解 下文摘自该链接
首先Redis也是一种数据库,它基于C/S模式,因此如果需要使用必须建立连接,C/S模式本身就是一种远程通信的交互模式,因此Redis服务器可以单独作为一个数据库服务器来独立存在。
假设Redis服务器与客户端分处在异地,虽然基于内存的Redis数据库有着超高的性能,但是底层的网络通信却占用了一次数据请求的大量时间,因为每次数据交互都需要先建立连接,假设一次数据交互总共用时30ms,超高性能的Redis数据库处理数据所花的时间可能不到1ms,也即是说前期的连接占用了29ms,连接池则可以实现在客户端建立多个链接并且不释放,当需要使用连接的时候通过一定的算法获取已经建立的连接,使用完了以后则还给连接池,这就免去了数据库连接所占用的时间。
2)Demo -- maven工程连接redis
查看下一篇博文