16.Jedis

article/2025/10/13 10:34:17

目录 

一、Jedis知识点总览。

二、连接池配置: 

三、测试类:


一、Jedis知识点总览。

public class ProvinceServiceImpl implements ProvinceService {private ProvinceDao dao = new ProvinceDaoImpl();@Overridepublic List<Province> findAll() {return dao.findAll();}@Overridepublic String findAllJson() throws IOException {//1.先从redis中查询数据//1.1获取Redis客户端连接Jedis jedis = JedisPoolUtils.getJedis();String province_json = jedis.get("province");//将这个键删除,就删除了redis缓存数据了//2.判断province_json 数据是否为nullif (province_json == null || province_json.length() == 0){System.out.println("redis中没有数据,查询数据库...");//1.redis中没有数据//2.1从数据库查询数据List<Province> ps = findAll();//2.2将list序列化为jsonObjectMapper mapper = new ObjectMapper();province_json = mapper.writeValueAsString(ps);//2.3将json数据存入redisjedis.set("province",province_json);//归还连接jedis.close();}else {System.out.println("redis中有数据,查询缓存...");}return province_json;}
}
@WebServlet("/provinceServlet")
public class ProvinceServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType("application/json;charset=utf-8");/*//1.调用service查询ProvinceService service = new ProvinceServiceImpl();List<Province> list = service.findAll();//2.序列化list为jsonObjectMapper mapper = new ObjectMapper();
//        String json = mapper.writeValueAsString(list);//3.响应结果
//        resp.getWriter().write(json);mapper.writeValue(resp.getOutputStream(),list);*//*** 使用redis缓存查询*///1.调用service查询ProvinceService service = new ProvinceServiceImpl();String json = service.findAllJson();//2.响应结果resp.getWriter().write(json);}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req,resp);}
}

二、连接池配置: 

/*** JedisPool连接池技术*/@Testpublic void test7(){//0.创建一个配置对象,这步不要求一定要JedisPoolConfig config = new JedisPoolConfig();config.setMaxTotal(50);config.setMaxIdle(10);//1.创建Jedis连接池对象JedisPool jedisPool = new JedisPool(config,"localhost",6379);//2.获取连接Jedis jedis = jedisPool.getResource();//3.使用jedis.set("hehe","haha");//4.关闭,实际是归还到连接池中jedis.close();}

三、测试类:

package test;import org.junit.Test;
import redis.clients.jedis.Jedis;import java.util.List;
import java.util.Map;
import java.util.Set;/*** jedis的测试类*/
public class JedisTest {/*** 快速入门*/@Testpublic void test1(){//1.获取连接Jedis jedis = new Jedis("locathost",6379);//2.操作jedis.set("username","zhangsan");//3.关闭连接jedis.close();}/*** string 数据结构操作*/@Testpublic void test2(){//1.获取连接Jedis jedis = new Jedis();//如果使用空参构造,默认值:"locathost",6379端口//2.操作//存储jedis.set("username","zhangsan");//获取String username = jedis.get("username");System.out.println(username);//可以使用setex()方法存储可以指定过期时间的  key value//将activecode:hehe 键值对存入Redis,并且20秒后自动删除该键值对jedis.setex("activecode",20,"hehe");//3.关闭连接jedis.close();}/*** hash 数据结构操作*/@Testpublic void test3(){//1.获取连接Jedis jedis = new Jedis();//如果使用空参构造,默认值:"locathost",6379端口//2.操作//存储hashjedis.hset("user","name","lisi");jedis.hset("user","age","23");jedis.hset("user","gender","male");//获取hashString name = jedis.hget("user", "name");System.out.println(name);//获取hash的所有map中的数据Map<String, String> user = jedis.hgetAll("user");Set<String> keySet = user.keySet();for (String key:keySet) {//获取valueString value = user.get(key);System.out.println(key+":"+value);}//3.关闭连接jedis.close();}/*** list 数据结构操作*/@Testpublic void test4(){//1.获取连接Jedis jedis = new Jedis();//如果使用空参构造,默认值:"locathost",6379端口//2.操作//list存储jedis.lpush("mylist","a","b","c");//从左边存jedis.rpush("mylist","d","e","f");//从右边存//list 范围获取List<String> mylist = jedis.lrange("mylist", 0, -1);System.out.println(mylist);//[c, b, a, d, e, f]//list 弹出String element1 = jedis.lpop("mylist");String element2 = jedis.rpop("mylist");System.out.println(element1);System.out.println(element2);//list 范围获取List<String> mylist2 = jedis.lrange("mylist", 0, -1);System.out.println(mylist2);//[b, a, d, e]//3.关闭连接jedis.close();}/*** set 数据结构操作*/@Testpublic void test5(){//1.获取连接Jedis jedis = new Jedis();//如果使用空参构造,默认值:"locathost",6379端口//2.操作//set存储jedis.sadd("myset","java","php","c++");//set 获取Set<String> myset = jedis.smembers("myset");System.out.println(myset);//3.关闭连接jedis.close();}/*** zset(sortedset) 数据结构操作*/@Testpublic void test6(){//1.获取连接Jedis jedis = new Jedis();//如果使用空参构造,默认值:"locathost",6379端口//2.操作//sortedset存储jedis.zadd("myzset",1,"亚瑟");jedis.zadd("myzset",2,"后裔");jedis.zadd("myzset",3,"孙悟空");//sortedset 获取Set<String> myzset = jedis.zrange("myzset", 0, -1);System.out.println(myzset);//3.关闭连接jedis.close();}}


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

相关文章

Jedis的配置和使用

什么是jedis 是官方推荐的java连接开发工具&#xff0c;使用java操作Redis的中间件&#xff0c;如果要使用java操作redis&#xff0c;那么要对jedis十分熟悉 测试 导入对应的依赖(Jedis和fastjson)&#xff1a; <dependencies><dependency><groupId>redi…

Jredis操作redis的入门级例子

redis入门级例子&#xff1a; Java代码 package com.liuxinglanyue.test; import java.util.ArrayList; import java.util.List; import org.jredis.JRedis; import org.jredis.RedisException; import org.jredis.ri.alphazero.JRedisClient; import org.…

jedis入门

目录 一、Jedis 1.Jedis简介 2.导包 3.官方文档 4.常用API 5.基本操作 6.jedis连接池的使用 7.工具类的编写 8.简单的使用 9.JedisPoolConfig的配置参数 一、Jedis 1.Jedis简介 Redis不仅是使用命令来操作&#xff0c;现在基本上主流的语言都有客户端支持&#xf…

Jedis的简单使用

Jedis的简单使用 创建连接操作key操作string操作list操作set操作zset操作hashJedis连接池工具类 创建连接 public static Jedis jedis null;static {// 地址 和 端口jedis new Jedis("127.0.0.1", 6379);// jedis.auth("helloworld"); // 若你的redis设…

【国产开源】兼容redis协议的内存数据库

背景 jredis是一个高性能、高可用、低延迟的内存数据库&#xff0c;服务端源码请移步这里 编写目的 加深对底层网络传输&#xff0c;文件存储&#xff0c;文件索引的认知&#xff0c;同时也巩固自身的知识点。 协议特征 兼容redis原生协议 set get lpush rpush lrange blp…

Jedis 入门

Jedis官网快速跳转 Jedis 的 Github 官方网站跳转&#xff1a;redis/jedis 1. Jedis的基本使用 1.1 引入Jedis依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.2.3</version> </d…

Redis Java客户端Jredis

JRedis 是一个高性能的 Java 客户端&#xff0c;用来连接到Redis分布式哈希键-值数据库。提供同步和异步的连接。 项目地址&#xff1a;https://github.com/alphazero/jredis 由于jreds的jar包不在公网的maven仓库中&#xff0c;所以需要下载源码使用如下命令&#xff0c;将j…

4.jedis

1.pom依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version> </dependency>2.客户端连接redis

JDK: JRE

序言 这个跟类加载有关. 其它的没啥好说的,直接说重点吧 重点 我们安装JDK后会有两个目录一个是JDK,一个是JRE.如下图所示: JDK: 这个是我们开发时需要往Eclipse或者Idear中引入的,里面主要包含了编译器,即把Java文件编译成Class文件的相关Jar.以及开发的过程所需要的一些工…

Jedis详解

因为工作的需要&#xff0c;底层同事对Redis进行了部分改造&#xff0c;增加了几个命令&#xff0c;对应着也就需要对Jedis进行部分修改&#xff0c;于是就把Jedis相关的代码读了一遍&#xff0c;发现其设计还是非常简单但又巧妙使用。 通常而言&#xff0c;我们对于Redis集群…

Jedis简介

Jedis用于java语言连接redis服务&#xff0c;并提供对应的操作API 一、准备工作 (1)jar包导入 下载地址&#xff1a;https://mvnrepository.com/artifact/redis.clients/jedis 基于maven <dependency> <groupId>redis.clients</groupId> <artifactId&…

jedis介绍

jedis是redis的java版本的客户端实现。下面演示jedis的相关操作&#xff1a;      首先在eclipse新建动态web工程&#xff1a;            将jedis所需的jar包导入到工程中&#xff1a;            编写Java代码测试连通性&#xff1a; import …

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.等腰杨辉三角 这就是两种杨辉三角…