配置
首先启动好redis服务器:
在命令行进入redis所在的目录输入:redis-server redis.wndows.conf,表示redis服务器根据redis.wndows.conf配置文件来启动。
接下来创建maven项目所需的依赖
<!-- jedis:负责让java程序连接redis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
使用
只例举几个常用的redis命令:
public class Test01 {
public static void main(String[] args) {
//使用jedis创建创建redis客户端连接对象,指定redis的服务器名称或ip地址,端口号
//相当于使用jdbc连接mysql数据库中的Connection
Jedis jedis = new Jedis("localhost", 6379);
//刷新当前数据库(默认是0,一共有16个库)中的所有键,删除所有的键值对
jedis.flushDB();
/* //刷新redis所有数据库的键值对
jedis.flushAll();*/
//往redis数据库添加键值对
String id = jedis.set("id", "1");
String name = jedis.set("name", "张三");
Long sex = jedis.setnx("sex", "男");
String age = jedis.setex("age", 10l, "20");
//添加列表list
Long lpush = jedis.lpush("names", "张三", "李四", "王五");
Long rpush = jedis.rpush("names", "aa", "bb", "cc");
//添加hash
//多个用hmset
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("学号1", "张三");
hashMap.put("学号2", "李四");
hashMap.put("学号3", "王五");
String hmset = jedis.hmset("班级一", hashMap);
//单个用hmset
HashMap<String, String> hashMap2 = new HashMap<>();
hashMap2.put("学号1", "张三");
Long names2 = jedis.hset("names", hashMap2);
System.out.println(id);
System.out.println(name);
System.out.println(sex);
System.out.println(age);
System.out.println(lpush);
System.out.println(rpush);
System.out.println(hmset);
System.out.println(names2);
System.out.println("--------获取redis数据键对应的值----------");
System.out.println("id=" + jedis.get("id"));
System.out.println("name=" + jedis.get("name"));
System.out.println("sex=" + jedis.get("sex"));
System.out.println("age=" + jedis.get("age"));
System.out.println("--------获取列表数据----------");
List<String> names = jedis.lrange("names", 0, -1);
names.forEach(n -> System.out.println(n));
System.out.println("--------获取hash数据----------");
Map<String, String> map = jedis.hgetAll("班级一");
map.forEach((k, v) -> {
System.out.println(k + "-------" + v);
});
//关闭连接对象
jedis.close();
}
}
连接池的配置
例举几个简单的配置
public class Test03 {
public static void main(String[] args) {
//配置连接池参数
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
//最大空闲数,数据库连接的最大空闲数,超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制
jedisPoolConfig.setMaxIdle(10);
//最小空闲数,连接池中必须要保证预留的连接数
jedisPoolConfig.setMinIdle(0);
//最大连接数,连接池中最大的连接数
jedisPoolConfig.setMaxTotal(100);
//创建redis连接池,用来存放连接对象,默认是localhost,6379
JedisPool jedisPool = new JedisPool(jedisPoolConfig);
//从连接池获取一个连接对象
Jedis jedis = jedisPool.getResource();
}
}