目录
一、Jedis
1.1 java 操作 redis 的工具
-
Java语言连接redis服务
-
Jedis
-
SpringData Redis
-
Lettuce
-
-
可视化来连接redis客户端
-
Redis Desktop Manager
-
Redis Client
-
Redis Studio
-
1.2 Jedis操作 redis
基与maven,导入 jedis 所需的依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
连接Redis的注意事项
-
禁用Linux的防火墙:Linux(CentOS7)里执行命令
systemctl stop/disable firewalld.service
-
redis.conf中注释掉bind 127.0.0.1 ,然后 protected-mode no
java操作 redis 的步骤:
①:连接 Redis
//参数为Redis所在的ip地址和端口号
Jedis jedis = new Jedis(String host,int port)
②:操作Redis
//操作redis的指令和redis本身的指令几乎一致
jedis.set(String key,String value)
③:断开连接
jedis.close();
测试程序
public class JedisDemo1 {
public static void main(String[] args) {
//创建Jedis对象
Jedis jedis = new Jedis("192.168.242.110", 6379);
//测试
String ping = jedis.ping();
System.out.println(ping);
}
}
操作key和string类型数据
@Test
public void demo(){
//创建jedis对象
Jedis jedis = new Jedis("127.0.0.1",6379);
//设置数据
jedis.set("name", "张三");
//获取数据
String name = jedis.get("name");
System.out.println(name);
//设置多个key-value
jedis.mset("age","20","height","170");
List<String> strings = jedis.mget("age", "height");
System.out.println(strings);
//获取所有的key
Set<String> keys = jedis.keys("*");
for (String key : keys){
System.out.println(key);
}
//断开连接
jedis.close();
}
1.3 springboot整合redis
参考博客:Spring Boot2篇 - 十五、Spring Boot 整合Redis_cv展示的博客-CSDN博客
1.4 redis简易工具类开发
基与连接池获取连接
①:封装连接参数
-
jedis.properties
redis.host=47.103.10.63
redis.port=6379
redis.maxTotal=30
redis.maxIdle=10
②:工具类
-
JedisPool:Jedis提供的连接池技术
-
poolConfig:连接池配置对象
-
host:redis服务地址
-
port:redis服务端口号
-
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.ResourceBundle;
public class JedisUtil {
private static Jedis jedis = null;
private static String host = null;
private static int port;
private static int maxTotal;
private static int maxIdle;
//使用静态代码块,只加载一次
static {
//读取配置文件
ResourceBundle resourceBundle = ResourceBundle.getBundle("redis");
//获取配置文件中的数据
host = resourceBundle.getString("redis.host");
port = Integer.parseInt(resourceBundle.getString("redis.port"));
//读取最大连接数
maxTotal = Integer.parseInt(resourceBundle.getString("redis.maxTotal"));
//读取最大活跃数
maxIdle = Integer.parseInt(resourceBundle.getString("redis.maxIdle"));
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(maxTotal);
jedisPoolConfig.setMaxIdle(maxIdle);
//获取连接池
JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port);
jedis = jedisPool.getResource();
}
//对外访问接口,提供jedis连接对象,连接从连接池获取
public Jedis getJedis() {
return jedis;
}
}