jedis介绍

article/2025/10/13 11:44:36

  jedis是redis的java版本的客户端实现。下面演示jedis的相关操作:
  
  首先在eclipse新建动态web工程:
  
  image_1b6tlp75ltr41kcd1vurkheah89.png-41.6kB
  
  将jedis所需的jar包导入到工程中:
  
  image_1b6toosmh8iuv9h107gach19e6m.png-8.7kB
  
  编写Java代码测试连通性:

import redis.clients.jedis.Jedis;public class TestPing {public static void main(String[] args) {//192.168.202.131是我虚拟机的IP地址,6379是redis服务的端口号,请自行配置Jedis jedis = new Jedis("192.168.202.131", 6379);System.out.println(jedis.ping());}}

  运行程序,会报错:
  Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect
  
  我们需要更改redis的配置文件,将bind 127.0.0.1注释掉,使任何IP都可以访问redis服务:
  
  image_1b6tp9atqk1c13l21at9pi964o13.png-108.2kB
  
  重启redis服务,再运行程序,发现继续报错:
  
  Exception in thread “main” redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command ‘CONFIG SET protected-mode no’ from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to ‘no’, and then restarting the server. 3) If you started the server manually just for testing, restart it with the ‘–protected-mode no’ option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
  
  大意是redis在保护模式下,拒绝在没有绑定IP地址或者没有授权密码的情况下进行访问。我们需要继续更改redis配置文件,将protected-mode yes改为protected-mode no:
  
  image_1b6ttt2ro11oenofng81ccn1clv1g.png-97.5kB
  
  重启redis服务,重新运行程序,会输出“PONG”,证明连接成功:
  
  image_1b6ttupvq8hdeu0v2k1enl1ev81t.png-14.8kB
  
  下面根据数据类型来测试jedis的API:

    //String类型@Testpublic void testString() {Jedis jedis = new Jedis("192.168.202.131", 6379);//清空数据库jedis.flushDB();String k1 = "k1";String v1 = "v1";jedis.set("k1", v1);System.out.println(jedis.get(k1));//是否存在System.out.println(jedis.exists(k1));//类型System.out.println(jedis.type(k1));//拼接jedis.append(k1, "v1v1v1");System.out.println(jedis.get(k1));//设置多个数据jedis.mset("k2","v2","k3","3");System.out.println(jedis.keys("*"));//删除jedis.del("k2");System.out.println(jedis.keys("*"));//自增jedis.incr("k3");System.out.println(jedis.get("k3"));}

  输出:
  
  image_1b6u762sg11b31bn9i9t17621gff9.png-19.7kB
  

    //List类型@Testpublic void testList(){Jedis jedis = new Jedis("192.168.202.131", 6379);//清空数据库jedis.flushDB();//从列表头部插入jedis.lpush("l1", "a","b","c");//从列表尾部插入jedis.rpush("l1", "d","e");//返回列表中所有值System.out.println(jedis.lrange("l1", 0, -1));//返回列表长度System.out.println(jedis.llen("l1"));//从列表头部移除一个元素并返回System.out.println(jedis.lpop("l1"));}

  输出:
  
  image_1b6u87tfdc1g1lvhptjcv1l9lm.png-13.7kB
  

       //Hash类型@Testpublic void testHash(){Jedis jedis = new Jedis("192.168.202.131", 6379);//清空数据库jedis.flushDB();Map<String,String> map = new HashMap<>();map.put("name", "Alan");map.put("age", "22");jedis.hmset("user",map);jedis.hset("user", "gender", "male");//获取单个数据System.out.println(jedis.hget("user", "age"));//获取多个数据System.out.println(jedis.hmget("user", "name","gender"));//获取所有数据System.out.println(jedis.hgetAll("user"));//获取所有的键System.out.println(jedis.hkeys("user"));//获取所有的值System.out.println(jedis.hvals("user"));}

  输出:
  
  image_1b6u89aa51egu1dakmtqtuebhd13.png-22.5kB
  

    // Set类型@Testpublic void testSet() {Jedis jedis = new Jedis("192.168.202.131", 6379);// 清空数据库jedis.flushDB();//添加一个或多个数据jedis.sadd("s1", "a","b","c");jedis.sadd("s1", "d");//返回集合中所有元素System.out.println(jedis.smembers("s1"));//成员个数System.out.println(jedis.scard("s1"));//求交集,并集,差集jedis.sadd("s2", "c","d","e","f");System.out.println(jedis.sinter("s1","s2"));System.out.println(jedis.sunion("s1","s2"));System.out.println(jedis.sdiff("s1","s2"));//判断是否是成员System.out.println(jedis.sismember("s1", "c"));//移除一个或者多个元素jedis.srem("s1", "b","c");System.out.println(jedis.smembers("s1"));}

  输出:

  image_1b6u8sf9u1hk2dc21g3o1m5l5p71g.png-12.8kB
  

    // Zset类型@Testpublic void testZset() {Jedis jedis = new Jedis("192.168.202.131", 6379);// 清空数据库jedis.flushDB();//向有序集合中添加多个成员Map<Double,String> map = new HashMap<>();map.put(60.0, "Alan");map.put(70.0, "Jack");map.put(75.0, "Tom");jedis.zadd("rank", map);//返回所有成员System.out.println(jedis.zrange("rank", 0, -1));//带有分数地返回所有成员,字符串由ASCII码表示System.out.println(jedis.zrangeWithScores("rank", 0, -1));//增加成员分数jedis.zincrby("rank", 0.5, "Alan");System.out.println(jedis.zscore("rank", "Alan"));//返回分数在60到70之间的成员System.out.println(jedis.zrangeByScore("rank", 60, 70));}

  输出:
  
  image_1b6u9nmnpk56b6dp26hj611en1t.png-29.1kB
  


http://chatgpt.dhexx.cn/article/uZsQuuio.shtml

相关文章

jedis相关详解

一、jedis是什么&#xff1f; Jedis是redis的java版本的客户端实现&#xff0c;使用Jedis提供的Java API对Redis进行操作&#xff0c;是Redis官方推崇的方式&#xff1b;并且&#xff0c;使用Jedis提供的对Redis的支持也最为灵活、全面&#xff1b;不足之处&#xff0c;就是编…

Redis 客户端:Jredis 和 spring-data-redis 整合

因为我使用的是 java &#xff0c;所以我学习的是java 的客户端 &#xff1a;Jredis 。整合结合自己的项目&#xff0c;把 Jredis 的客户端整合一下。 我们整合需要的工具&#xff1a; Redis Serviceredis.clients.jedis 2.9.0 &#xff08;java 客户端链接redis&#xff09;…

Redis使用教程(一)

Redis:单线程、高读写 redis数据库初识 Redis 简介 Redis 的安装配置 Redis 的常见操作 Redis 的数据类型 Redis 的事务控制 Java 操作 Redis 数据库 Redis简介 redis的作用 Redis:REmote DIctionary Server( 远程字典服务器 ) 是完全开源免费的&#xff0c;用 C 语言编写的…

html如何隐藏input,html如何让input隐藏

隐藏方法&#xff1a;1、设置input标签 type属性的值为“hidden”&#xff1b;2、利用input标签的style属性&#xff0c;添加“display:none”样式&#xff1b;3、利用input标签的style属性&#xff0c;添加“visibility:hidden”样式。 本教程操作环境&#xff1a;windows7系统…

使用java实现杨辉三角的输出

案例&#xff1a;杨辉三角 实现代码 结果输出

【Java】 杨辉三角 二维数组打印杨辉三角

Tips 打印三角的操作 : 每行打印前预留空格打印指定数量的星号后换行重复循环打印直至完成所有打印结果 杨辉三角: 三角规律空格最大对称值为 5 大于 5 则会变形三角规律为当前值为上一个值加上前一个值 首尾的数字值相等参考二维数组的规律生成数值 import java.util.Sca…

java输出杨辉三角(等腰三角形版)

网上转了一圈&#xff0c;各种形式都有&#xff0c;给出一种不用那些啥制表符的等腰三角形版本 杨辉三角 杨辉三角形各行的系数满足以下的规律&#xff1a; ①各行第一个数都是1&#xff1b; ②各行最后一个数都是1&#xff1b; ③从第3行起&#xff0c;除上面指出的第一个数…

用Java编写杨辉三角的几种实现方式

一、前言 最近在学习java&#xff0c;遇到了杨辉三角的编程代码题&#xff0c;这是一道经典的面试题&#xff0c;在经过网上搜索和老师的讲解之后&#xff0c;于是想把代码贴出来&#xff0c;分析一下思路。 二、杨辉三角 1.直角杨辉三角 2.等腰杨辉三角 这就是两种杨辉三角…

JAVA杨辉三角的详细解释

近期java面试题中总会出现算法题&#xff0c;最近我看到了很多杨辉三角的面试题&#xff0c;自己当时手写也没分析好思路&#xff0c;在网上听老师一讲于是就写出来了&#xff0c;今天把代码贴出来看下&#xff0c;思路分析下; 首先看下排列的结果&#xff1a; 可以很清楚的看…

Java实现杨辉三角形

一&#xff1a;前言 实现杨辉三角&#xff0c;需要知道什么是杨辉三角。如下图&#xff0c;就是两种杨辉三角。这两种杨辉三角形是目前最常见的&#xff1a; &#xff08;1&#xff09;等边形状的杨辉三角 &#xff08;2&#xff09;直角形状的杨辉三角 二、杨辉三角形的规…

Java代码实现杨辉三角

一、杨辉三角的概念 杨辉三角是二项式系数在三角形中的一种几何排列&#xff0c;南宋数学家杨辉在《详解九章算法》中有记载&#xff0c;欧洲的帕斯卡也发现这一规律&#xff0c;故又称帕斯卡三角形&#xff0c;比杨辉晚几百年发现该规律 二、杨辉三角的特性 他的两条斜边都是…

杨辉三角形Java实现

一、杨辉三角形的特点 &#xff08;1&#xff09;每个数等于它上方两数之和。 &#xff08;2&#xff09;每行数字左右对称&#xff0c;由1开始逐渐变大。 &#xff08;3&#xff09;第n行的数字有n项。 &#xff08;4&#xff09;前六行的杨辉三角形如图&#xff1a; 二、J…

Java解决杨辉三角问题(这里提供了两种方法)

杨辉三角作为一个数学问题&#xff0c;所以我们在做这道题的时候可以用数学思维将其解决。 下面我将我的实现代码和测试结果附上&#xff1a; package practice;/*** 杨辉三角问题*/ public class Yanghuisanjiao {public static void main(String[] args) {print1(25);print2(…

基于Java的杨辉三角

直角杨辉三角 杨辉三角的规律是每行数字的第一列和最后一列的数字都是1&#xff0c;从第三行开始&#xff0c;除去第一列和最后一列都为数字1以外&#xff0c;其余每列的数字都等于它上方两个数字之和。例如下面图片中7字形圈起来的&#xff1a;4 3 1、35 15 20。 代码实…

杨辉三角形(Java版)

不为失败找理由&#xff0c;只为成功找方法。所有的不甘&#xff0c;因为还心存梦想&#xff0c;所以在你放弃之前&#xff0c;好好拼一把&#xff0c;只怕心老&#xff0c;不怕路长。 文章目录 1. 什么是杨辉三角形2. 实现思路&#xff08;方式&#xff09;2.1 递归方式2.2 递…

JAVA实现杨辉三角的三种方式

一、前言 既然是实现杨辉三角&#xff0c;就要知道什么是杨辉三角。如下图&#xff0c;就是两种杨辉三角。 &#xff08;1&#xff09;等边形状的杨辉三角 &#xff08;2&#xff09;直角形状的杨辉三角 在知道这两种都是杨辉三角之后&#xff0c;我们就来实现利用java语言打…

杨辉三角(Java)

实现思路&#xff1a;我们可以先把杨辉三角想象成一个空的二维数组&#xff0c;然后再给它赋值输出即可。 关键在于如何赋值&#xff1a;仔细观察上图可以得出除了每一行第一个数以及最后一个数&#xff08;都是1&#xff09;&#xff0c; 中间的数字规律就是&#xff1a;a[ i …

Java:杨辉三角

键盘录入数字n&#xff0c;输出n行杨辉三角&#xff08;Java&#xff09; 文章目录 前言一、杨辉三角是什么&#xff1f;二、代码拆分解释三、代码运行和结果 1.代码运行2.结果 前言 编写杨辉三角的程序会用到金字塔输出的知识点&#xff0c;点下面连接查看。输入一个整数n&…

Java语言实现杨辉三角

一.提出问题。 使用二维数组打印出如下图的杨辉三角。 二.分析问题。 1.首先想要输出杨辉三角&#xff0c;就要找到它有什么规律&#xff1f; ①第n行有n个数字&#xff1b; ②每一行开始和结束的数字都为1&#xff1b; ③每一个数字都等于它的左上角的数字与右上角数字之和。…

java实现杨辉三角

首先杨辉三角的构成如下 通过分析能得出如下两个规律 1.第n行有n个元素&#xff0c;并且每一行的首尾元素都是1 1.中间的元素等于上面相邻的元素之和&#xff0c;用二维数组表示就是arr[i][j] arr[i-1][j] arr[i-1][j-1] 接下来就是实现动态开辟二维数组以此表示杨辉三角形…