基於Java程式碼操作Redis過程詳解
阿新 • • 發佈:2020-11-19
Jedis簡介
實際開發中,我們需要用Redis的連線工具連線Redis然後操作Redis,
對於主流語言,Redis都提供了對應的客戶端;
提供了很多客戶端 官方推薦的是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(); //使用完關閉連 System.out.println(jedis.ping());
使用Jedis連線池之後,在每次用完連線物件後一定要記得把連線歸還給連線池。Jedis對close方法進行了改造,如果是連線池中的連線物件,呼叫Close方法將會是把連線物件返回到物件池,若不是則關閉連線。
操作Redis常用的三種資料型別 ,還有兩種不常用的就不介紹了
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")); //對雜湊進行操作 jedis.hset("user1","uname","李四"); jedis.hset("user1","sex","男"); System.out.println(jedis.hgetAll("user1")); System.out.println(jedis.hget("user1", "uname")); //對list進行操作 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")); } }
專案中的應用演示例子
查詢中使用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)){ //模擬實際專案開發需求,在專案中運用redis //查詢資料庫 String mysqldata="data"; //將mysqldata資料來源轉成json陣列串 jedis.set("booklist",mysqldata); booklist = jedis.get("booklist"); req.setAttribute("mag","走了資料庫資料"); req.setAttribute("booklist",booklist); req.getRequestDispatcher("/booklist.jsp").forward(req,resp); } else{ req.setAttribute("mag","直接從redis裡面拿了資料"); 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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援碼農教程。