java操作redis
java操作redis
这里主要是对五大存储类型的操作
string(字符串)
hash(哈希)
list(列表)
set(集合)
zset(sorted set:有序集合)
Demo1
package com.li;
import redis.clients.jedis.Jedis;
/**
* @author dragon
* @site
* @company
* @create 2019-09-18 12:04
*
* 讲解是Java代码去操作redis
* 链接redis
* 操作字符串
* 操作哈希
* 操作列表list
*
*/
public class Demo1 {
public static void main(String[] args) {
Jedis Jedis = new Jedis("192.168.183.132",6379);
Jedis.auth("123456");
System.out.println(Jedis.ping());
// 操作字符串
// Jedis.set("name","fdsjiaf");
// System.out.println(Jedis.get("name"));
// 操作哈希
// Jedis.hset("user1","uanme","ls");
// Jedis.hset("user1","sex","nan");
// System.out.println(Jedis.hget("user1", "uname"));
// System.out.println(Jedis.hgetAll("user1"));
// 操作列表
// Jedis.lpush("hobby","aa","bb","cc","dd","kk");
// System.out.println(Jedis.lpop("hobby"));
// System.out.println(Jedis.lpop("hobby"));
// System.out.println(Jedis.rpop("hobby"));
}
}
DemoServlet
package com.li;
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;
import java.util.Map;
/**
* @author dragon
* @site
* @company
* @create 2019-09-18 15:29
*/
@WebServlet("/getData")
public class DemoServlet 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.183.132",6379);
Jedis.auth("123456");
// 从缓存中获取当前登陆的用户信息
Map<String,String> currentUser = Jedis.hgetAll("currentUser");
if (currentUser != null && currentUser.size()>0){
req.setAttribute("msg","从缓存中获取数据");
req.setAttribute("currentUser",currentUser);
}else {
// 第一次访问首页数据
req.setAttribute("msg","从数据库中获取数据");
String uname = "taimao";
String upass = "123456";
// 把数据中的对应对象存到缓存中
Jedis.hset("currentUser","uname","taimao");
Jedis.hset("currentUser","upass","123456");
// 此时能获取到值原因是上面已经将数据存储到缓存中
currentUser = Jedis.hgetAll("currentUser");
req.setAttribute("currentUser",currentUser);
}
req.getRequestDispatcher("/home.jsp").forward(req,resp);
}
}