开发者社区> 必须往前走> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用jedis客户端连接redis,单机版和集群版

简介: 单机版 1.入门实例 @Test public void testJedis(){ //创建一个jedis对象,需要指定服务的ip和端口号 Jedis jedis=new Jedis("192.
+关注继续查看

单机版

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="7001"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.25.11"/>
                    <constructor-arg name="port" value="7002"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.25.11"/>
                    <constructor-arg name="port" value="7003"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.25.11"/>
                    <constructor-arg name="port" value="7004"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.25.11"/>
                    <constructor-arg name="port" value="7005"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.25.11"/>
                    <constructor-arg name="port" value="7006"/>
                </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"));
    }
测试代码

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Redis连接问题
Redis连接问题
0 0
Redis集群 安装搭建手册
在Centos7.3上,安装搭建Redis cluster集群
0 0
CentOS 7源码编译安装Redis
CentOS 7源码编译安装Redis
0 0
springboot+redis+rabbitmq实现模拟秒杀系统(附带docker安装mysql,rabbitmq,redis教程)
在项目开发中,难免会遇到高并发问题,本文借助秒杀系统的模拟场景,旨在解决高并发问题。
0 0
Windows系统下安装Redis详细步骤
本文介绍Windows系统下安装Redis详细步骤
0 0
【Redis】Redis介绍与Redis3在Window下的安装
【Redis】Redis介绍与Redis3在Window下的安装
0 0
【阿里云】 ECS Linux 云服务器中安装 rinetd 进行转发实现本地通过公网访问云数据库 Redis
【阿里云】 ECS Linux 云服务器中安装 rinetd 进行转发实现本地通过公网访问云数据库 Redis
0 0
【Redis】——Redis简单介绍及Redis安装详细过程
  Redis是用C语言开发的一款高性能key-value数据库。它可以提供多种键值数据类型来适应不同场景下的存储需求。
0 0
Redis(一)Centos7.6安装Redis服务
Centos的yum源中没有redis;这里我们需要安装一个第三方的yum源,这里用了Fedora的epel仓库。
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Codis 集群演化与 Redis 异步迁移
立即下载
Redis Cluster的基本原理
立即下载
Redis&MongoDB的同步、迁移以及混合云场景构建
立即下载