redis支持的编程语言
1.使用jedis
(1)添加jedis依赖
<dependency>
<!--jedis依赖-->
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.8.0</version>
</dependency>
(2)代码测试
@Test
public void test01(){
//连接redis 必须保证redis服务可以远程连接
//Jedis 把每个redis命令封装成对应的方法
Jedis jedis = new Jedis("192.168.226.234",6379);
//对字符串的操作
//存储一个值
String s = jedis.set("k1","v1");
System.out.println("返回的结果:"+s);
//存储一个值,时间结束后自动删除
String setex = jedis.setex("k2", 30l, "v2");
System.out.println("返回的结果:"+setex);
//存储一个值,若已存在则不存
Long aLong = jedis.setnx("k3","v3");
System.out.println("返回的结果:"+aLong);
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//对hash操作
Long hset = jedis.hset("k4", "name", "张三");
System.out.println("返回的值:"+hset);
Map<String,String> map = new HashMap<>();
map.put("name","李四");
Long hset1 = jedis.hset("k5", map);
System.out.println(hset1);
//关闭
jedis.close();
}
测试结果:
2.使用连接池连接redis
使用连接池可以减少耗损时间
@Test
public void test02(){
//创建连接池的配置类
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(20);//最大连接数
jedisPoolConfig.setMinIdle(5);//最小连接数
jedisPoolConfig.setMaxWait(Duration.ofMillis(3000));//最大等待时间
JedisPool jedisPool = new JedisPool(jedisPoolConfig,"192.168.226.234",6379);
//得到当前的秒
long start = System.currentTimeMillis();
for(int i=0;i<1000;i++){
//从jedis连接池获取资源
Jedis jedis = jedisPool.getResource();
String ping = jedis.ping();
jedis.close();//释放资源到池子
}
//结束时的秒数
long end = System.currentTimeMillis();
System.out.println("总耗时:"+(end-start));
}
3.java连接redis集群模式
测试代码:
@Test
public void test03(){
Set<HostAndPort> andPorts = new HashSet<>();
andPorts.add(new HostAndPort("192.168.226.234",6001));
andPorts.add(new HostAndPort("192.168.226.234",6002));
andPorts.add(new HostAndPort("192.168.226.234",6003));
andPorts.add(new HostAndPort("192.168.226.234",6004));
andPorts.add(new HostAndPort("192.168.226.234",6005));
andPorts.add(new HostAndPort("192.168.226.234",6006));
JedisCluster jedisCluster = new JedisCluster(andPorts);
String s = jedisCluster.set("k1", "张三");
System.out.println("返回结果:"+s);
//关闭
jedisCluster.close();
}