Redis-使用java代码操作Redis

目录

一.Java连接Redis

1.1.导入依赖

1.2.启动Redis服务

1.3.Java创建连接

二.Java操作Redis的常见类型

2.1.String类型

[2.1.1 存储数据](#2.1.1 存储数据)

[2.1.2 切换数据库](#2.1.2 切换数据库)

[2.1.3 存储数据时同时设置过期时间](#2.1.3 存储数据时同时设置过期时间)

2.2.Hash类型

[2.2.1 存储数据](#2.2.1 存储数据)

2.2.2.利用工具类以map的形式存储数据

(1)RedisUtils工具类

(2)应用

2.2.3查询数据

(1)查询单个

(2)查询所有

2.2.4.删除数据

(1)删除单个

(2)查询所有

2.3.列表

[2.3.1 存储](#2.3.1 存储)

[2.3.2 获取长度](#2.3.2 获取长度)

[2.3.3 查找元素](#2.3.3 查找元素)

今天就到这里了!!希望帮到你哦!!!


​​​​​​​一.Java连接Redis

1.1.导入依赖

复制代码
    <!--redis-->
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>

1.2.启动Redis服务

win+r打开命令行窗口,输入以下代码

复制代码
cd redis安装的路径
redis-server.exe redis.windows.conf

1.3.Java创建连接

复制代码
public static void main(String[] args) {
        //建立连接
        Jedis jedis = new Jedis("localhost", 6379);
        //设置密码
        jedis.auth("123456");
        //测试连接(ping)
        System.out.println(jedis.ping());
    }

运行测试结果:

二.Java操作Redis的常见类型

2.1.String类型

2.1.1 存储数据

复制代码
//存储数据
jedis.set("test","YU");

2.1.2 切换数据库

复制代码
jedis.select(2);

2.1.3 存储数据时同时设置过期时间

复制代码
//设置key过期时间
jedis.setex("time",15,"过期时间");

2.2.Hash类型

2.2.1 存储数据

复制代码
jedis.hset("user","name","YU");
jedis.hset("user","hobby","Java");
jedis.hset("user","age","18");

2.2.2.利用工具类以map的形式存储数据

(1)RedisUtils工具类
复制代码
package com.zking.ssm.util;
 
import redis.clients.jedis.Jedis;
 
import java.util.Map;
import java.util.Set;
 
/**
 * @author 君临沂
 * @create 2023-11-06 10:35
 */
public class RedisUtils {
    public static void setHashMap(Jedis jedis, String key, Map<String,String> map){
        if(map!=null && map.size()>0){
            Set<String> keys = map.keySet();
            for(String k:keys){
                jedis.hset(key,k,map.get(k));
            }
        }
 
    }
}
(2)应用
复制代码
Map map = new HashMap();
        map.put("name","YU");
        map.put("hobby","Java");
        map.put("age","18");
        RedisUtils.setHashMap(jedis,"user",map);

我们通过将map集合及键以参数的形式传递到工具类方法中,并遍历依次进行存储

2.2.3查询数据

(1)查询单个
复制代码
System.out.println(jedis.hget("user","hobby"));
(2)查询所有
复制代码
System.out.println(jedis.hgetAll("user"));

2.2.4.删除数据

(1)删除单个
复制代码
Long hdel = jedis.hdel("user", "sex");
(2)查询所有
复制代码
jedis.del("user");

2.3.列表

2.3.1 存储

复制代码
//指定数据库        
jedis.select(2);
//插入多项值
jedis.lpush("List_hobby", "KK", "run", "cash", "LL");

2.3.2 获取长度

复制代码
// 获取列表的长度   
System.out.println(jedis.llen("List_hobby"));

2.3.3 查找元素

复制代码
 //根据索引获取列表中的元素  
System.out.println(jedis.lindex("List_hobby", 2));
//查看指定范围内的元素   
System.out.println(jedis.lrange("List_hobby", 0, 3));

今天就到这里了!!希望帮到你哦!!!

相关推荐
程序员小假7 分钟前
你会不会使用 SpringBoot 整合 Flowable 快速实现工作流呢?
java·后端
来自外太空的鱼-张小张9 分钟前
java将pdf文件转换为图片工具类
java·python·pdf
代码中の快捷键16 分钟前
如何实现一个登录功能?
java·开发语言
陪我一起学编程37 分钟前
关于ORM增删改查的总结——跨表
数据库·后端·python·django·restful
保持学习ing39 分钟前
微服务--消息队列mq
java·微服务·消息队列·rabbitmq·消息转换器
zimoyin44 分钟前
Java/Kotlin selenium 无头浏览器 [Headless Chrome] 实现长截图 三种方式
java·selenium·kotlin
yuluo_YX1 小时前
Spring AI Alibaba Graph 实践
java·人工智能·spring
天空之城夢主1 小时前
PostgreSQL 初体验
数据库·postgresql
羚羊角uou1 小时前
【C++】模拟实现map和set
java·前端·c++
虎鲸不是鱼1 小时前
Spring Boot3流式访问Dify聊天助手接口
java·spring boot·后端·大模型·llm