使用jedis客户端连接redis,单机版和集群版
单机版
1.入门实例
@Test
public void testJedis(){
//创建一个jedis对象,需要指定服务的ip和端口号
Jedis jedis=new Jedis("192.168.25.11",6379);
//直接操作数据库
jedis.set("str","nihao");
//关闭
jedis.close();
}
存值
@Test
public void testGetJedis(){
//创建一个jedis对象,需要指定服务的ip和端口号
Jedis jedis=new Jedis("192.168.25.11",6379);
//直接操作数据库
String str = jedis.get("str");
System.out.println(str);
//关闭
jedis.close();
}
取值
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<jedis.version>2.7.2</jedis.version>
</dependency>
pom依赖
这样使用的话,每次都需要创建连接和关闭连接,耗费性能,所以一般实际项目中我们一般会采用连接池的方式进行开发
2.使用数据库连接池的方式操作redis
@Test
public void testJedisPool(){
//创建连接池(单例),需要指定服务ip和端口号
JedisPool pool=new JedisPool("192.168.25.11",6379);
//从连接池中获得连接
Jedis resource = pool.getResource();
//使用Jedis操作数据库(方法级别使用)
String str = resource.get("str");
System.out.println(str);
//一定要关闭Jedis连接
resource.close();
//系统关闭前关闭连接池
pool.close();
}
使用数据库连接池的方式操作redis
集群版
1.直接使用
public void testRedisCluster() {
//创建一个JedisCluster对象,构造参数Set类型,集合中每个元素 是一个HostAndPort类型
Set<HostAndPort> nodes=new HashSet<>();
nodes.add(new HostAndPort("192.168.25.11",7001));
nodes.add(new HostAndPort("192.168.25.11",7002));
nodes.add(new HostAndPort("192.168.25.11",7003));
nodes.add(new HostAndPort("192.168.25.11",7004));
nodes.add(new HostAndPort("192.168.25.11",7005));
nodes.add(new HostAndPort("192.168.25.11",7006));
JedisCluster jedisCluster=new JedisCluster(nodes);
//直接使用JedisCluster操作redis,自带连接池,JedisCluster可以是单例的
jedisCluster.set("nihao","你好");
System.out.println(jedisCluster.get("nihao"));
//系统关闭前,关闭JedisCluster.
jedisCluster.close();
}
连接redis集群
使用Spring整合redis集群
<bean class="redis.clients.jedis.JedisCluster" id="jedisCluster">
<constructor-arg name="nodes">
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value=""/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value=""/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value=""/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value=""/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value=""/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value=""/>
</bean>
</set>
</constructor-arg>
</bean>
<bean class="com.taotao.jedis.JedisClientCluster" id="jedisCluster"/>
Spring配置文件中配置集群信息和客户端
private JedisCluster jedisCluster;
@Before
public void testBefore(){
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("Spring/applicationContext-redis.xml");
jedisCluster=classPathXmlApplicationContext.getBean(JedisCluster.class);
}
@Test
public void testJedisSping(){
jedisCluster.set("11","11");
System.out.println( jedisCluster.get("11"));
}
测试代码
使用jedis客户端连接redis,单机版和集群版的更多相关文章
- (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
http://blog.csdn.net/yerenyuan_pku/article/details/72863323 我们知道Jedis在处理Redis的单机版和集群版时是完全不同的,有可能在开发的 ...
- Redis单机版以及集群版的安装搭建以及使用
1,redis单机版 1.1 安装redis n 版本说明 本教程使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install g ...
- JedisClient操作redis 单机版和集群版
一.在pom文件中添加依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency&g ...
- Redis单机版和集群版的安装和部署
1.单机版的安装 本次使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install gcc-c++ 1.1 安装redis 1.下载re ...
- redis单机版和集群版搭建笔记-简略版
搭建单机版: 解压 tar -zxf redis-3.0.0.tar.gz 编译 cd redis-3.0.0 安装 make install prefix=/usr/local/redis-inst ...
- 项目里面加入redis单机版 和集群版的配置
第一步: 如果你是maven项目,你直接配置就可以了,如果不是需要下载这个包 jedis包 <!-- Redis 客户端 --> <dependency> ...
- 国际站中国区,孟买上Redis 4.0 集群版
信息摘要: 国际站中国区,孟买上线Redis 4.0 集群版适用客户: 所有用户版本/规格功能: redis 4.0 集群版产品文档: https://www.alibabacloud.com/hel ...
- redis在项目中的使用(单机版、集群版)
1.下载jar包:jedis-2.6.2.jar 2.代码: JedisDao.java: package com.test.www.dao; public interface JedisDao { ...
- shiro的单机版 和 集群版
在我们的开发当中 我们一般权限都是个 比较繁琐 但又必不可少的 一部分 [不管我们的 数据库设计 还是我们采用何种技术 我们的权限库表 大多都是大同小异 业务逻辑也是如此] 在我们不使用任何框架 ...
随机推荐
- Codeforces 1079D Barcelonian Distance(计算几何)
题目链接:Barcelonian Distance 题意:给定方格坐标,方格坐标上有两个点A,B和一条直线.规定:直线上沿直线走,否则沿方格走.求A到B的最短距离. 题解:通过直线到达的:A.B两点都 ...
- 20165223 week6测试错题总结
由于时间预估错误及手机自身卡顿问题,虽然已经作答完成,却在最后提交时出现错误,错失提交时间,所以没能按时提交答案,也就没有纠错,以下仅凭印象列出错题: Q1:若超出JVM运行能力,如"byt ...
- MySQL数据库的基本使用简单易懂
MySQL数据库的基本使用 一.数据库概述 1. 基本介绍 数据库就是以一定格式进行组织的数据的集合.通俗来看数据库就是用户计算机上 一些具有特殊格式的数据文件的集合 2. 数据库的特点 持久化存储 ...
- [luogu1020][导弹拦截]
题目位置 https://www.luogu.org/problemnew/show/P1020 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的 ...
- 第十九节,使用RNN实现一个退位减法器
退位减法具有RNN的特性,即输入的两个数相减时,一旦发生退位运算,需要将中间状态保存起来,当高位的数传入时将退位标志一并传入参与计算. 我们在做减法运算时候,把减数和被减数转换为二进制然后进行运算.我 ...
- pytest 3.fixture介绍一 conftest.py
前言: 前面一篇pytest2 讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景: 用例1需要先登录,用例2不需要登录, ...
- JVM调优工具
JMap 首先要知道Java进程的pid. Windows: .. .. .. Linux: ps -ef | grep java 查看堆栈信息(jmap -heap pid) jmap -heap ...
- js弹出层
js弹出层 1.div附近显示 <div id="message"></div> $().delay().hide(); 2.遮罩层 表单提交后遮住页面,等 ...
- 老项目用webpack中文乱码问题解决记录
有个很久(有多久呢,你还记得jquery1.6的年代吗...)的项目需要新加一些功能,又想使用新的生产力工具比如说webpack,es6,vue神马的.原来的项目整体都是用GBK编码的,这特么...坑 ...
- (线性dp 最大子段和 最大子矩阵和)POJ1050 To the Max
To the Max Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 54338 Accepted: 28752 Desc ...