java操作redis

java操作redis

demo1
这里主要是对五大存储类型的操作
string(字符串)
hash(哈希)
list(列表)
set(集合)
zset(sorted set:有序集合)

pom依赖

 <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>
package com.wt;

import redis.clients.jedis.Jedis;

/**
 * @author吴
 * @company
 * @create  2019-09-18 16:35
 *
 *讲解的是java代码去操作redis
 *连接redis
 * 操作字符串
 * 操作哈希
 * 操作列表list
 *
 */
public class demo1 {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.214.129",6379);
        jedis.auth("123456");
        System.out.println(jedis.ping());

//        操作字符串
//        jedis.set("aa","zd");
//        System.out.println(jedis.get("aa"));
//        操作哈希
//        jedis.hset("user1","uname","ls");
//        jedis.hset("user1","sex","男");

//        System.out.println(jedis.hgetAll("user1"));
//        System.out.println(jedis.hget("user1", "uname"));
//
        //操作列表
//        jedis.lpush("hobby","1","2","3","4","5","6");
//        System.out.println(jedis.lpop("hobby"));
//        System.out.println(jedis.lpop("hobby"));
//        System.out.println(jedis.rpop("hobby"));



    }
}

demoServlet

package com.wt;

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吴
 * @company
 * @create  2019-09-18 16:48
 */
@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.214.129",6379);
        jedis.auth("123456");
        //获取当前登录用户的用户信息
        Map<String, String> user = jedis.hgetAll("User");
        if(user!=null &&user.size()>0){
            req.setAttribute("msg","从缓存中获取数据");
            req.setAttribute("User",user);
        }
        else{
            //等一次登录,第一次访问首页
            req.setAttribute("msg","从数据库中获取数据");
            String uname = "ls";
            String upwd = "12345";
            //接下来把数据库中的对应对象存储到缓存中
            jedis.hset("User","uname","ls");
            jedis.hset("User","upwd","12345");
            //此時獲取到職 原因是上面已经存储到了缓存中
            user = jedis.hgetAll("User");
            req.setAttribute("User",user);
        }
        req.getRequestDispatcher("/home.jsp").forward(req,resp);
    }
}

jsp

<%--
  Created by IntelliJ IDEA.
  User: MRCHENIKE
  Date: 2019/9/18
  Time: 16:48
  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>
博客主页<br>
拿取数据方式 ${msg}<br>
拿取到的数据:${User}

</body>
</html>

在这里插入图片描述
在这里插入图片描述

	//获取redis中的数据
	String blogListJsonStr = jedis.get("blogList");
	//如果redis中有值
	if(blogListJsonStr!= null && blogListJsonStr.length() > 0) {
		// 使用redis
		request.setAttribute("blogList", JSON.parse(blogListJsonStr));
	}
	else {
		//从数据库中查询数据
		List<Map<String, Object>> blogList = this.blogDao.freemarker_list(title, null);
		jedis.set("blogList", JSON.toJSONString(blogList));
		request.setAttribute("blogList", blogList); 
	}

public String del() {
		try {
		HttpServletRequest request = ServletActionContext.getRequest();
		//清空缓存
		jedis.del("blogList");
		// 数据库中删除博客
		this.blogDao.del(request.getParameterMap());
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return "blogList";
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值