03【Jedis连接Redis服务器】(jedis连接redis主从)

您所在的位置:网站首页 jedis连接redis主从 03【Jedis连接Redis服务器】(jedis连接redis主从)

03【Jedis连接Redis服务器】(jedis连接redis主从)

2023-04-15 07:11| 来源: 网络整理| 查看: 265

三、Jedis连接Redis服务器 3.1 Jedis简介

Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis。Jedis提供了完整Redis命令,而Redisson有更多分布式的容器实现。

在这里插入图片描述 3.2 Jedis的使用 3.2.1 引入Maven依赖 redis.clients jedis 2.9.0 3.2.2 Jedis连接redis服务端: @Test public void test1() { // 创建一个Redis连接 Jedis jedis = new Jedis("localhost"); System.out.println("连接redis服务端成功!"); //测试redis服务器是否正在运行 System.out.println("redis服务器正在运行吗?" + jedis.ping()); // 获取redis服务的配置信息 System.out.println("redis服务器信息?\n" + jedis.info()); }

注意:

1.防火墙需要放行6379默认端口

2.使用jedis连接redis可能会出现的问题及解决方案

3.2.3 Jedis操作String数据类型 @Test public void test2() { // String 操作 // 创建一个Redis连接 Jedis jedis = new Jedis("localhost"); String result = jedis.set("name", "hangman"); System.out.println(result); String name = jedis.get("name"); System.out.println(name); } 3.2.3 Jedis操作Hash数据类型 @Test public void test3() { // Hash操作 // 创建一个Redis连接 Jedis jedis = new Jedis("localhost"); jedis.hset("user","username","root"); jedis.hset("user","password","admin"); String username = jedis.hget("user", "username"); String password = jedis.hget("user", "username"); System.out.println(username); System.out.println(password); // 释放资源 jedis.close(); } 3.2.4 Jedis操作List数据类型 @Test public void test4() { // List操作 // 创建一个Redis连接 Jedis jedis = new Jedis("localhost"); Long result = jedis.lpush("fruits", "apple", "pear", "banana", "tomato"); System.out.println(result); List fruits = jedis.lrange("fruits", 0, -1); System.out.println(fruits); } 3.2.5 Set测试 set基本操作 @Test public void test5() { // Set操作 // 创建一个Redis连接 Jedis jedis = new Jedis("localhost"); Long result = jedis.sadd("cities", "lanzhou", "fuzhou", "guangzhou", "hangzhou", "zhengzhou"); System.out.println(result); Set cities = jedis.smembers("cities"); System.out.println(cities); } 取交集、差集、并集: @Test public void test6() { // Set操作求交集、差集、并集 // 创建一个Redis连接 Jedis jedis = new Jedis("localhost"); jedis.sadd("cities1", "lanzhou", "fuzhou", "guangzhou", "hangzhou", "zhengzhou"); jedis.sadd("cities2", "meizhou", "guangzhou", "quanzhou", "fuzhou", "ganzhou"); // [guangzhou, fuzhou] Set sinter = jedis.sinter("cities1", "cities2"); System.out.println(sinter); // [zhengzhou, hangzhou, lanzhou] Set sdiff = jedis.sdiff("cities1", "cities2"); System.out.println(sdiff); // [fuzhou, guangzhou, hangzhou, lanzhou, meizhou, ganzhou, quanzhou, zhengzhou] Set sunion = jedis.sunion("cities1", "cities2"); System.out.println(sunion); } 3.2.6 Zset测试 @Test public void test7() { // zset操作 // 创建一个Redis连接 Jedis jedis = new Jedis("localhost"); jedis.zadd("students",100,"xiaohui"); jedis.zadd("students",80,"xiaolan"); jedis.zadd("students",99,"xiaojun"); // 获取所有的key Set students = jedis.zrange("students", 0, -1); System.out.println(students); System.out.println(); Set studentsTuple = jedis.zrangeWithScores("students", 0, -1); for (Tuple tuple : studentsTuple) { System.out.println("key: "+tuple.getElement()); System.out.println("score: "+tuple.getScore()); } // 释放资源 jedis.close(); } 3.3 Jedis 连接池 package com.dfbz.demo01; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; /** * @author lscl * @version 1.0 * @intro: */ public class Demo02_Pool { @Test public void test1() { // 创建Jedis连接池配置对象 JedisPoolConfig config = new JedisPoolConfig(); // 最大连接数 config.setMaxTotal(30); // 最大空闲连接数 config.setMaxIdle(10); // 最小空闲连接数 config.setMinIdle(5); // 最长等待毫秒数 config.setMaxWaitMillis(3000); // 创建一个Jedis连接池 JedisPool jedisPool = new JedisPool(config, "127.0.0.1", 6379); for (int i = 1; i jedis.close(); // 将连接归还到连接池 } System.out.println(jedis); } jedisPool.close(); // 释放资源 } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3