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));

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

相关推荐
Dicky-_-zhang1 小时前
系统容量规划与压测实战:从1万到100万QPS的科学扩容
java·jvm
Dicky-_-zhang6 小时前
消息队列Kafka/RocketMQ选型与高可用架构:从单体到100万TPS的演进
java·jvm
晨曦中的暮雨6 小时前
4.15腾讯 CSIG云服务产线 一面
java·开发语言
2301_781571427 小时前
Golang格式化输出占位符都有什么_Golang fmt占位符教程【通俗】
jvm·数据库·python
fake_ss1987 小时前
AI时代学习全栈项目开发的新范式
java·人工智能·学习·架构·个人开发·学习方法
养肥胖虎7 小时前
RAG学习笔记(3):区分数据库检索与RAG的使用场景
数据库·ai·rag
茉莉玫瑰花茶7 小时前
工作流的常见模式 [ 1 ]
java·服务器·前端
_ku_ku_7 小时前
数据库系统原理 · 数据库应用开发 · 自学总结
数据库
未若君雅裁7 小时前
Spring AOP、日志切面与声明式事务原理
java·后端·spring
No8g攻城狮8 小时前
【人大金仓】wsl2+ubuntu22.04安装人大金仓数据库V9
java·数据库·spring boot·非关系型数据库