使用Java代码操作 Redis

1.导入需要的pom依赖

<dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>

2.开启虚拟机
在这里插入图片描述
3.java代码操作redis

package com.zking.likang;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import sun.awt.SunHints;

import javax.swing.*;
import java.util.List;
import java.util.Map;

/**
 * @author 木子康
 *
 * java代码操作redis
 * string,hash,list
 *
 * 1,加载驱动
 * 2,建立连接(url/uanme/pwd)
 * 3,preparestatement
 * 4,执行sql
 * 5处理结果
 * 6,关闭资源
 *
 *
 * redis连接步骤
 * 1,建立连接,连接后授权
 * 2,使用redis
 */
public class Demo1 {
    public static void main(String[] args) {
        Jedis jedis=new Jedis("192.168.58.131",6379);
        jedis.auth("123456");

        System.out.println(jedis.ping());
        /*
        string
         */
//        jedis.set("name","mz");
//        jedis.set("age","19");
//        System.out.println(jedis.get("name"));

        /*
        hash
         */
//        jedis.hset("user1","uname","mz");
//        jedis.hset("user1","pwd","123456");
//        jedis.hset("user1","sex","nan");
//        System.out.println(jedis.hget("user1", "uname"));
//        Map<String,String> user1=jedis.hgetAll("user1");
//        for (Map.Entry<String, String> entry : user1.entrySet()) {
//            System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue());
//        }

        /*
        list
         */

//        jedis.lpush("hobby","a","b","c","d","e","f","g");
//        System.out.println(jedis.lpop("hobby"));
//        System.out.println(jedis.rpop("hobby"));




    }
}

在这里插入图片描述
redis在实际项目中的运用模拟
在这里插入图片描述
redis在增删改中的使用:
在这里插入图片描述
Demoservlet:

package com.zking.likang;



/**
 * @author 木子康
 *
 * redis 在项目中使用
 *          查询
 *          增删改
 */
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.58.132",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("/booklist.jsp").forward(req,resp);
        }
    }
}

booklist

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${mag}:${booklist}
 
</body>
</html>
Java操作Redis的散列表(Hash),通常使用Jedis库,它是一个广泛使用Java连接Redis的库。散列表(Hash)是Redis中的一种数据结构,它存储了字段(field)和值之间的映射,但字段和值都是字符串类型。这种数据结构适合存储对象的属性。以下是一个简单的示例,展示如何使用Jedis库操作Redis散列表: ```java import redis.clients.jedis.Jedis; public class RedisHashExample { public static void main(String[] args) { // 创建一个Jedis对象实例,这里的"localhost"是Redis服务器地址,6379是Redis服务的默认端口号 Jedis jedis = new Jedis("localhost", 6379); // 检查连接是否成功 System.out.println("连接成功与否:" + jedis.ping()); // 操作散列表 String hashKey = "user:1000"; // 假设我们的散列表键是"user:1000" // 设置散列表的字段和值 jedis.hset(hashKey, "name", "Alice"); jedis.hset(hashKey, "age", "30"); jedis.hset(hashKey, "country", "Wonderland"); // 获取散列表中某个字段的值 String name = jedis.hget(hashKey, "name"); System.out.println("Name is: " + name); // 获取散列表中所有字段和值 Map<String, String> fields = jedis.hgetAll(hashKey); System.out.println("Fields are: " + fields); // 更新散列表的字段值 jedis.hset(hashKey, "age", "31"); // 删除散列表中的某个字段 jedis.hdel(hashKey, "country"); // 关闭连接 jedis.close(); } } ``` 在这个例子中,首先创建了一个`Jedis`对象来连接到Redis服务器。然后使用`hset`方法来设置散列表的字段和值,`hget`方法获取指定字段的值,`hgetAll`方法获取散列表中所有字段和值,`hdel`方法删除散列表中的某个字段。最后,不要忘记关闭连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值