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

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

相关推荐
葡萄成熟时 !6 小时前
JAVA 常用API学习笔记
java·笔记·学习
Rain的Java大神之路7 小时前
介绍一下分布式事务
java·分布式·后端·spring·spring cloud·架构·springcloud
oradh8 小时前
Oracle闪回技术操作总结
数据库·oracle·oracle闪回技术操作总结·oracle闪回·flashback技术
吴声子夜歌8 小时前
Java面试题——基础(一)
java·开发语言
南城以南溫暖如初1478 小时前
外卖CPS实战指南:从技术选型到运营落地全流程解析
java·spring boot·mysql·架构·vue
ltl8 小时前
RocksDB 并发 Compaction 与 Rate Limiter
数据库
傻啦嘿哟9 小时前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
码匠许师傅10 小时前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
闻道且行之10 小时前
图片处理助手|泊松融合原理 + C++ 工程实现,seamlessClone 三模式一次讲透
数据库·c++·人工智能·opencv
mqiqe11 小时前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络