【Redis-DEMO】redis 连接池和集群操作非关系型数据库

复制代码
import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;

import java.util.HashSet;
import java.util.Set;


public class Main {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }

    @Test
    public void testJedis(){
        //连接到Linux的redis数据库
        Jedis jedis = new Jedis("192.168.1.103",6379);
        //选择要操作的数据库
        jedis.select(1);//操作第二个数据库
        //存数据
        jedis.set("welcome","欢迎来到世界杯赌球的地下XXX");
        //存hash数据类型
        jedis.hset("user:1001","username","exp");
        jedis.hset("user:1001","age","30");
        jedis.hset("user:1001","gender","male");
        //存数组list
        jedis.lpush("FootBallteamNames","小日本","韩国","英国");
        //存无序set
        jedis.sadd("NBA","勇士","骑士");
        //有序set
        jedis.zadd("english:scoreboard",90,"zhangsan");//设置sortedset,可排序
        jedis.zadd("english:scoreboard",91,"lisi");//设置sortedset,可排序
        jedis.zadd("english:scoreboard",93,"wangwu");//设置sortedset,可排序

        //取数据
        System.out.println( jedis.get("welcome"));

        //关闭连接
        jedis.close();
    }

    @Test
    public void testJedisPool() {
        //创建一连接池对象
        JedisPool jedisPool = new JedisPool("192.168.1.103", 6379);
        //从连接池中获得连接
        Jedis jedis = jedisPool.getResource();
        jedis.select(1);//选择第2个数据库

        String result = jedis.get("welcome");
        System.out.println(result);
        //关闭连接
        jedis.close();

        //关闭连接池
        jedisPool.close();
    }

    /**
     * 以集群的方式操作redis
     */

    @Test
    public void testJedisCluster() {
        //创建一连接,JedisCluster对象,在系统中是单例存在
        Set<HostAndPort> nodes = new HashSet<>();
        nodes.add(new HostAndPort("192.168.10.103", 7001));
        nodes.add(new HostAndPort("192.168.10.103", 7002));
        nodes.add(new HostAndPort("192.168.10.103", 7003));
        nodes.add(new HostAndPort("192.168.10.103", 7004));
        nodes.add(new HostAndPort("192.168.10.103", 7005));
        nodes.add(new HostAndPort("192.168.10.103", 7006));
        JedisCluster cluster = new JedisCluster(nodes);
        //执行JedisCluster对象中的方法,方法和redis一一对应。
        cluster.set("exp", "告白气球");
        String result = cluster.get("exp");
        System.out.println(result);
        //程序结束时需要关闭JedisCluster对象
        cluster.close();

    }


}
复制代码

 

posted @   expworld  阅读(326)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示