如何使用redis的java客户端
来源:互联网 发布:r语言编程 编辑:程序博客网 时间:2024/05/22 03:33
首先需要使用Jedis连接redis服务器。
1.连接单机版
先把jedis依赖的jar包添加到工程中。
//单机版测试
@Test
publicvoid testJedisSingle() throws Exception {
//创建一个Jedis对象
Jedis jedis = new Jedis("192.168.25.153", 6379);
jedis.set("test", "hello jedis");
String string = jedis.get("test");
System.out.println(string);
jedis.close();
}
使用连接池:
//使用连接池
@Test
publicvoid testJedisPool() throws Exception {
//创建一个连接池对象
//系统中应该是单例的。
JedisPool jedisPool = new JedisPool("192.168.25.153", 6379);
//从连接池中获得一个连接
Jedis jedis = jedisPool.getResource();
String result = jedis.get("test");
System.out.println(result);
//jedis必须关闭
jedis.close();
//系统关闭时关闭连接池
jedisPool.close();
}
2. 集群版使用Jedis
//连接redis集群
@Test
publicvoid testJedisCluster() throws Exception {
//创建一个JedisCluster对象
Set<HostAndPort>nodes = new HashSet<>();
nodes.add(new HostAndPort("192.168.25.153", 7001));
nodes.add(new HostAndPort("192.168.25.153", 7002));
nodes.add(new HostAndPort("192.168.25.153", 7003));
nodes.add(new HostAndPort("192.168.25.153", 7004));
nodes.add(new HostAndPort("192.168.25.153", 7005));
nodes.add(new HostAndPort("192.168.25.153", 7006));
//在nodes中指定每个节点的地址
//jedisCluster在系统中是单例的。
JedisCluster jedisCluster = new JedisCluster(nodes);
jedisCluster.set("name", "zhangsan");
jedisCluster.set("value", "100");
String name = jedisCluster.get("name");
String value = jedisCluster.get("value");
System.out.println(name);
System.out.println(value);
//系统关闭时关闭jedisCluster
jedisCluster.close();
}
1.1 项目中使用jedis
思路:创建一个redis操作的接口。分别创建两个实现类对应redis 的单机版和集群版。当使用单机版redis时,配置单机版的实现类,当使用集群版本的时候,配置集群版的实现类。
1.1.1 单机版实现类
/**
* redis客户端单机版实现类
*/
publicclass JedisClientSingle implements JedisClient{
@Autowired
private JedisPooljedisPool;
@Override
public String set(Stringkey, String value) {
Jedis jedis = jedisPool.getResource();
String result = jedis.set(key,value);
jedis.close();
returnresult;
}
@Override
public String get(Stringkey) {
Jedis jedis = jedisPool.getResource();
String result = jedis.get(key);
jedis.close();
returnresult;
}
@Override
public Long hset(Stringkey, String item, Stringvalue) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hset(key,item, value);
jedis.close();
returnresult;
}
@Override
public String hget(Stringkey, String item) {
Jedis jedis = jedisPool.getResource();
String result = jedis.hget(key,item);
jedis.close();
returnresult;
}
@Override
public Long incr(Stringkey) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.incr(key);
jedis.close();
returnresult;
}
@Override
public Long decr(Stringkey) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.decr(key);
jedis.close();
returnresult;
}
@Override
public Long expire(Stringkey, intsecond) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.expire(key,second);
jedis.close();
returnresult;
}
@Override
public Long ttl(Stringkey) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.ttl(key);
jedis.close();
returnresult;
}
}
1.1.2 集群版
/**
* redis客户端集群版实现类
**/
publicclass JedisClientCluster implements JedisClient {
@Autowired
private JedisClusterjedisCluster;
@Override
public String set(Stringkey, String value) {
returnjedisCluster.set(key,value);
}
@Override
public String get(Stringkey) {
returnjedisCluster.get(key);
}
@Override
public Long hset(Stringkey, String item, Stringvalue) {
returnjedisCluster.hset(key,item, value);
}
@Override
public String hget(Stringkey, String item) {
returnjedisCluster.hget(key,item);
}
@Override
public Long incr(Stringkey) {
returnjedisCluster.incr(key);
}
@Override
public Long decr(Stringkey) {
returnjedisCluster.decr(key);
}
@Override
public Long expire(Stringkey, intsecond) {
returnjedisCluster.expire(key,second);
}
@Override
public Long ttl(Stringkey) {
returnjedisCluster.ttl(key);
}
}
1.1.3 Spring的配置
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<!--包扫描器,扫描带@Service注解的类 -->
<context:component-scanbase-package="com.taotao.rest.service"></context:component-scan>
<!-- 配置redis客户端单机版 -->
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-argname="host"value="192.168.25.153"></constructor-arg>
<constructor-argname="port"value="6379"></constructor-arg>
</bean>
<!-- 配置redis客户端实现类 -->
<bean id="jedisClientSingle" class="com.taotao.rest.component.impl.JedisClientSingle"/>
<!-- 配置redis客户端集群版 -->
<!-- <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
<constructor-arg>
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7001"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7002"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7003"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7004"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7005"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7006"/>
</bean>
</set>
</constructor-arg>
</bean>
<bean id="jedisClientCluster" class="com.taotao.rest.component.impl.JedisClientCluster"/> -->
</beans>
- 如何使用redis的java客户端
- Redis的java客户端Jedis的使用
- redis的Java客户端jedis使用示例
- 使用Redis的Java客户端Jedis
- 使用Redis的Java客户端Jedis
- 使用Redis的Java客户端Jedis
- 使用Redis的Java客户端Jedis
- 使用Redis的Java客户端Jedis
- Redis集群 Java客户端Jedis的使用
- 使用redis的java客户端-----jedis
- redis客户端的使用
- 使用java客户端调用redis
- 使用java客户端调用redis
- 使用Redis的Java客户端Jedis 使用连接池+分布式
- redis的Java客户端jedis池的介绍及使用
- redis的Java客户端jedis池的介绍及使用
- Redis的Java客户端Jedis池的介绍和使用
- redis的Java客户端jedis池的介绍及使用
- java文件上传报文解析与实现
- 【怎样写代码】工厂三兄弟之工厂方法模式(四):工厂方法模式
- 插入MySQL中文乱码问题
- 【转】cf 825F
- JAVA程序猿必须掌握的三大排序之一
- 如何使用redis的java客户端
- 【JavaScript学习】引用类型
- 树莓派温度检测
- 判断浏览器类型或浏览器版本
- Java泛型总结
- 移动端的图片格式
- 立个flag----操作系统-计算机网络-设计模式
- tensorflow 保存模型预测测试集分类结果
- python的基础模块(os,sys,time,shutil,differlib,socket)