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

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

相关推荐
小bo波7 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking8 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
张不才11 小时前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
shepherd11112 小时前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
ClouGence14 小时前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
plainGeekDev15 小时前
单例模式 → object 声明
android·java·kotlin
用户2986985301416 小时前
Java 实现 Word 文档文本与图片提取的方法
java·后端
飞将16 小时前
从零实现数据库(2)——HashIndex + IndexManager
数据库
SimonKing17 小时前
铁子,IntelliJ IDEA 2026.1.3来了,升不升?
java·后端·程序员