基于Java代碼操作Redis過程詳解
Jedis簡介
實際開發(fā)中,我們需要用Redis的連接工具連接Redis然后操作Redis,
對于主流語言,Redis都提供了對應(yīng)的客戶端;
提供了很多客戶端 官方推薦的是Jedis 托管地址:https://github.com/xetorthio/jedis
要使用redis首先得下載pom依賴
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
連接redis
Jedis jedis = new Jedis("192.168.234.131",6379);
jedis.auth("123456");
//jedis.close(); //使用完關(guān)閉連
System.out.println(jedis.ping());
使用Jedis連接池之后,在每次用完連接對象后一定要記得把連接歸還給連接池。Jedis對close方法進(jìn)行了改造,如果是連接池中的連接對象,調(diào)用Close方法將會是把連接對象返回到對象池,若不是則關(guān)閉連接。
操作Redis常用的三種數(shù)據(jù)類型 ,還有兩種不常用的就不介紹了
package com.wp;
import redis.clients.jedis.Jedis;
/**
* @author 小李飛刀
* @site www.xiaomage.com
* @company zhuojing
* @create 2019-10-13 10:43
*/
public class javaDome {
public static void main(String[] args) {
//鏈接操作
Jedis jedis = new Jedis("192.168.234.131",6379);
jedis.auth("123456");
System.out.println(jedis.ping());
//操作字符串
jedis.set("aaa","張三");
System.out.println(jedis.get("aaa"));
//對哈希進(jìn)行操作
jedis.hset("user1","uname","李四");
jedis.hset("user1","sex","男");
System.out.println(jedis.hgetAll("user1"));
System.out.println(jedis.hget("user1", "uname"));
//對list進(jìn)行操作
jedis.lpush("hobby","a","b","c","d","e","f");
System.out.println(jedis.lpop("hobby"));
System.out.println(jedis.lpop("hobby"));
System.out.println(jedis.rpop("hobby"));
}
}
項目中的應(yīng)用演示例子
查詢中使用redis的邏輯
如圖所示:


bookservlet.java
代碼如下:
package web;
import redis.clients.jedis.Jedis;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author 小李飛刀
* @site www.xiaomage.com
* @company zhuojing
* @create 2019-10-13 10:43
*/
@WebServlet("/wp")
public class Bookservlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Jedis jedis = new Jedis("192.168.234.131",6379);
jedis.auth("123456");
String booklist = jedis.get("booklist");
if(booklist==null || "".equals(booklist)){
//模擬實際項目開發(fā)需求,在項目中運用redis
//查詢數(shù)據(jù)庫
String mysqldata="data";
//將mysqldata數(shù)據(jù)源轉(zhuǎn)成json數(shù)組串
jedis.set("booklist",mysqldata);
booklist = jedis.get("booklist");
req.setAttribute("mag","走了數(shù)據(jù)庫數(shù)據(jù)");
req.setAttribute("booklist",booklist);
req.getRequestDispatcher("/booklist.jsp").forward(req,resp);
} else{
req.setAttribute("mag","直接從redis里面拿了數(shù)據(jù)");
req.setAttribute("booklist",booklist);
req.getRequestDispatcher("/index.jsp").forward(req,resp);
}
}
}
index.jsp
<html>
<body>
<h2>Hello World!</h2>
<%-- Created by IntelliJ IDEA. User: machenike
Date: 2019/10/13 Time: 11:53 To change this
template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8"
language="java" %>
<%@ page isELIgnored="false" %>
<html>
<head>
<title>Title</title>
</head>
<body>
${mag}:${booklist}
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java使用Lettuce客戶端在Redis在主從復(fù)制模式下命令執(zhí)行的操作
- Java使用RedisTemplate模糊刪除key操作
- Java實現(xiàn)Redis的集合(set)命令操作
- java Spring Boot 配置redis pom文件操作
- 使用java連接Redis,Maven管理操作
- java操作Redis緩存設(shè)置過期時間的方法
- 新手學(xué)習(xí)Java對Redis簡單操作
- Java操作Redis2種方法代碼詳解
- Java連接redis及基本操作示例
- 在Java中使用redisTemplate操作緩存的方法示例
- Java操作Redis詳細(xì)介紹
- Redis有序集合類型的操作_動力節(jié)點Java學(xué)院整理
- Java操作redis實現(xiàn)增刪查改功能的方法示例
- Java使用Jedis操作Redis服務(wù)器的實例代碼
- Java客戶端利用Jedis操作redis緩存示例代碼
- 教你怎么用Java操作Redis
相關(guān)文章
Java實現(xiàn)雪花算法的原理和實戰(zhàn)教程
這篇文章主要介紹了Java實現(xiàn)雪花算法的原理和實戰(zhàn)教程,本文通過語言表述和代碼的實現(xiàn)講解了該項算法,,需要的朋友可以參考下2021-06-06
java配置dbcp連接池(數(shù)據(jù)庫連接池)示例分享
java配置dbcp連接池示例分享,大家參考使用吧2013-12-12
scala 隱式轉(zhuǎn)換與隱式參數(shù)的使用方法
這篇文章主要介紹了scala 隱式轉(zhuǎn)換與隱式參數(shù)的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
SpringBoot發(fā)送異步郵件流程與實現(xiàn)詳解
這篇文章主要介紹了SpringBoot發(fā)送異步郵件流程與實現(xiàn)詳解,Servlet階段郵件發(fā)送非常的復(fù)雜,如果現(xiàn)代化的Java開發(fā)是那個樣子該有多糟糕,現(xiàn)在SpringBoot中集成好了郵件發(fā)送的東西,而且操作十分簡單容易上手,需要的朋友可以參考下2024-01-01
基于Comparator對象集合實現(xiàn)多個條件按照優(yōu)先級的比較
這篇文章主要介紹了基于Comparator對象集合實現(xiàn)多個條件按照優(yōu)先級的比較,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
Spring Cloud Gateway 默認(rèn)的filter功能和執(zhí)行順序介紹
這篇文章主要介紹了Spring Cloud Gateway 默認(rèn)的filter功能和執(zhí)行順序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10

