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

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

相关推荐
小李飞刀李寻欢几秒前
mongoDB 读取数据python版本实现
数据库·python·mongodb·数据
To-sz352 分钟前
mongodb 主从集群,分片集群
数据库·mysql·mongodb
ღ᭄陽先生꧔ꦿ᭄8 分钟前
Java异常架构与异常关键字
java·开发语言·架构
DieSnowK10 分钟前
[Redis][Set]详细讲解
数据库·redis·分布式·缓存·set·数据类型·新手向
繁依Fanyi15 分钟前
【问题随记】在使用 AuthenticationManager 的时候,出现循环依赖问题 —— `java.lang.StackOverflowError`
java·大数据·开发语言
年轻的高血压患者25 分钟前
Java servlet《网吧机房管理系统浅析》
java·mysql·servlet·eclipse·idea
小希与阿树40 分钟前
sql执行流程经典案例分析
数据库·sql
远望樱花兔1 小时前
【d46】【Java】【力扣】876.链表的中间结点
java·leetcode
严文文-Chris1 小时前
【设计模式-备忘录】
java·设计模式
码上一元1 小时前
【百日算法计划】:每日一题,见证成长(019)
java·数据结构·算法