欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis的安装和Jedis的使用

程序员文章站 2022-03-25 20:53:26
Redis的安装和学习资料 Redis的安装可以参考 https://www.cnblogs.com/dddyyy/p/9763098.html Redis的学习可以参考https://www.cnblogs.com/dddyyy/p/9803828.html 1.Jedis工具类的基本使用 因为J ......

redis的安装和学习资料

redis的安装可以参考 

redis的学习可以参考 

1.jedis工具类的基本使用

因为jedis工具类使用的是连接池,那么我们就来看一下连接池最简单的demo,这样可以有助于了解后面的工具类代码。

  先可以使用maven工程来导包需要的依赖包

<dependency>
         <groupid>redis.clients</groupid>
         <artifactid>jedis</artifactid>
         <version>2.6.3</version>
         <type>jar</type>
         <scope>compile</scope>
</dependency>
编写个测试类

package com.jedistest;

import org.junit.test;

import redis.clients.jedis.jedis;
import redis.clients.jedis.jedispool;

public class jedistest {

@test
public void test1() {
//创建一个连接池 参数为你的redis安装的ip地址和端口
jedispool jedispool = new jedispool("192.168.25.128",6379);
//从连接池拿个连接资源
jedis jedis = jedispool.getresource();//获取资源
//设置key-value
jedis.set("myname", "dingyu");
//根据key 取 value
string name = jedis.get("myname");
system.out.println(name);
//关闭连接资源
jedis.close();
//关闭连接池
jedispool.close();
}
}

 测试结果

Redis的安装和Jedis的使用

2.工具类

package jedistool;


public interface jedisclient {

string set(string key, string value);
string get(string key);
boolean exists(string key);
long expire(string key, int seconds);
long ttl(string key);
long incr(string key);
long hset(string key, string field, string value);
string hget(string key, string field);
long hdel(string key,string... field);//删除hkey
}

 

package jedistool;

import org.springframework.beans.factory.annotation.autowired;

import redis.clients.jedis.jedis;
import redis.clients.jedis.jedispool;

public class jedisclientpool implements jedisclient {

@autowired
private jedispool jedispool;

@override
public string set(string key, string value) {
jedis jedis = jedispool.getresource();
string result = jedis.set(key, value);
jedis.close();
return result;
}

@override
public string get(string key) {
jedis jedis = jedispool.getresource();
string result = jedis.get(key);
jedis.close();
return result;
}

@override
public boolean exists(string key) {
jedis jedis = jedispool.getresource();
boolean result = jedis.exists(key);
jedis.close();
return result;
}

@override
public long expire(string key, int seconds) {
jedis jedis = jedispool.getresource();
long result = jedis.expire(key, seconds);
jedis.close();
return result;
}

@override
public long ttl(string key) {
jedis jedis = jedispool.getresource();
long result = jedis.ttl(key);
jedis.close();
return result;
}

@override
public long incr(string key) {
jedis jedis = jedispool.getresource();
long result = jedis.incr(key);
jedis.close();
return result;
}

@override
public long hset(string key, string field, string value) {
jedis jedis = jedispool.getresource();
long result = jedis.hset(key, field, value);
jedis.close();
return result;
}

@override
public string hget(string key, string field) {
jedis jedis = jedispool.getresource();
string result = jedis.hget(key, field);
jedis.close();
return result;
}

@override
public long hdel(string key, string... field) {
jedis jedis = jedispool.getresource();
long hdel = jedis.hdel(key, field);
jedis.close();
return hdel;
}

}

 

package jedistool;

import org.springframework.beans.factory.annotation.autowired;

import redis.clients.jedis.jediscluster;
/**
* 主要用于集群的时候连接redis
*
*
*/
public class jedisclientcluster implements jedisclient {

@autowired
private jediscluster jediscluster;

@override
public string set(string key, string value) {
return jediscluster.set(key, value);
}

@override
public string get(string key) {
return jediscluster.get(key);
}

@override
public boolean exists(string key) {
return jediscluster.exists(key);
}

@override
public long expire(string key, int seconds) {
return jediscluster.expire(key, seconds);
}

@override
public long ttl(string key) {
return jediscluster.ttl(key);
}

@override
public long incr(string key) {
return jediscluster.incr(key);
}

@override
public long hset(string key, string field, string value) {
return jediscluster.hset(key, field, value);
}

@override
public string hget(string key, string field) {
return jediscluster.hget(key, field);
}

@override
public long hdel(string key, string... field) {
// todo auto-generated method stub
return jediscluster.hdel(key, field);
}

}

 

集成配置文件

<!-- spring的写法 -->
<!-- 配置单机版 -->
<bean class="redis.clients.jedis.jedispool">
<constructor-arg name="host" value="192.168.25.153"</constructor-arg>
<constructor-arg name="port" value="6379"></constructor-arg>
</bean>
<!-- 配置集群版 -->
<bean class="redis.clients.jedis.jediscluster">
<constructor-arg name="nodes">
<set>
<bean class="redis.clients.jedis.hostandport">
<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
<constructor-arg name="port" value="7001"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.hostandport">
<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
<constructor-arg name="port" value="7002"></constructor-arg>
</bean>
      </set> 

</constructor-arg>
</bean>