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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 单机版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数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
NoSQL Redis 数据安全/隐私保护
Redis 最流行的图形化界面下载及使用超详细教程(带安装包)! redis windows客户端下载
文章提供了Redis最流行的图形化界面工具Another Redis Desktop Manager的下载及使用教程,包括如何下载、解压、连接Redis服务器以及使用控制台和查看数据类型详细信息。
141 6
Redis 最流行的图形化界面下载及使用超详细教程(带安装包)! redis windows客户端下载
|
1月前
|
NoSQL Redis 数据库
Redis 图形化界面下载及使用超详细教程(带安装包)! redis windows下客户端下载
文章提供了Redis图形化界面工具的下载及使用教程,包括如何连接本地Redis服务器、操作键值对、查看日志和使用命令行等功能。
130 0
Redis 图形化界面下载及使用超详细教程(带安装包)! redis windows下客户端下载
|
1月前
|
NoSQL Redis 数据库
Redis 连接
10月更文挑战第19天
29 0
|
7天前
|
监控 NoSQL 网络协议
【Azure Redis】部署在AKS中的应用,连接Redis高频率出现timeout问题
查看Redis状态,没有任何异常,服务没有更新,Service Load, CPU, Memory, Connect等指标均正常。在排除Redis端问题后,转向了AKS中。 开始调查AKS的网络状态。最终发现每次Redis客户端出现超时问题时,几乎都对应了AKS NAT Gateway的更新事件,而Redis服务端没有任何异常。因此,超时问题很可能是由于NAT Gateway更新事件导致TCP连接被重置。
|
29天前
|
NoSQL 网络协议 算法
Redis 客户端连接
10月更文挑战第21天
32 1
|
1月前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
62 8
|
2月前
|
JSON NoSQL Java
redis的java客户端的使用(Jedis、SpringDataRedis、SpringBoot整合redis、redisTemplate序列化及stringRedisTemplate序列化)
这篇文章介绍了在Java中使用Redis客户端的几种方法,包括Jedis、SpringDataRedis和SpringBoot整合Redis的操作。文章详细解释了Jedis的基本使用步骤,Jedis连接池的创建和使用,以及在SpringBoot项目中如何配置和使用RedisTemplate和StringRedisTemplate。此外,还探讨了RedisTemplate序列化的两种实践方案,包括默认的JDK序列化和自定义的JSON序列化,以及StringRedisTemplate的使用,它要求键和值都必须是String类型。
redis的java客户端的使用(Jedis、SpringDataRedis、SpringBoot整合redis、redisTemplate序列化及stringRedisTemplate序列化)
|
2月前
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
74 2
|
1月前
|
缓存 NoSQL 关系型数据库
单机版Redis
【10月更文挑战第3天】
37 0
|
1月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
77 6
下一篇
无影云桌面