Redis-使用java代码操作Redis

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Redis-使用java代码操作Redis

一.Java连接Redis

1.加载驱动

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

2.创建连接

package com.zking.ssm.demo;
import redis.clients.jedis.Jedis;
/**
 * @author lz
 * @create 2023-11-03 17:00
 */
public class demo1 {
    public static void main(String[] args) {
        //建立连接
        Jedis jedis = new Jedis("localhost", 6379);
        //设置密码
        jedis.auth("123456");
        //测试是否连接
        System.out.println(jedis.ping());
    }
}

二.Java存储数据,string,hash,list,set,zzet

1.string类

package com.zking.ssm.demo;
import redis.clients.jedis.Jedis;
/**
 * @author lz
 * @create 2023-11-03 17:00
 */
public class demo2 {
    public static void main(String[] args) {
        //建立连接
        Jedis jedis = new Jedis("localhost", 6379); 
        //设置密码
        jedis.auth("123456");
        //增加 删除  修改  查询
//        jedis.set("name","liubin");//增加
        jedis.set("name","sb");//修改也就是增加覆盖
        System.out.println(jedis.get("name"));//查看
        jedis.setex("time",12,"要多少秒");
        System.out.println(jedis.ttl("time"));
    }
}

2. hash

package com.zking.ssm.demo;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
/**
 * @author lz
 * @create 2023-11-03 17:00
 */
public class demo3 {
    public static void main(String[] args) {
        //建立连接
        Jedis jedis = new Jedis("localhost", 6379); 
        //设置密码
        jedis.auth("123456");
        //增加 删除  修改  查询
        //无法使用那个  递归
         jedis.hset("user","name","liubin");
        jedis.hset("user","hoppy","play wzry");
        jedis.hset("user","sex","nan");
        //解决办法  通过封装实现
        HashMap  hashMap=new HashMap();
        hashMap.put("name","yangxin");
        hashMap.put("hoppy","guoba");
        hashMap.put("sex","weizhi");
        JedisUtils.setHashMap(jedis,"user",hashMap);
    }
}

在其中通过一个工具类实现递归

package com.zking.ssm.demo;
import redis.clients.jedis.Jedis;
import java.util.Map;
import java.util.Set;
/**
 * @author lz
 * @create 2023-11-03 18:26
 */
public class JedisUtils {
      public   static   void  setHashMap(Jedis jedis , String key, Map<String,String> hashMap){
                                   if (hashMap!=null && hashMap.size()>0){
                                         Set<String> keys=hashMap.keySet();
                                         for (String k:keys){
                                               jedis.hset(key,k,hashMap.get(k));
                                         }
                                   }
      }
}

3.其他

Redis列表(List)

//        # lpush key value1 value2 value3          #将一个或多个值插入到列表头部

jedis.lpush("java_hobby", "篮球", "足球", "羽毛球");

//        # llen key                                #获取列表的长度

Long java_hobby_len = jedis.llen("java_hobby");

System.out.println(java_hobby_len);

//        # lindex key index                        #根据索引获取列表中的元素

System.out.println(jedis.lindex("java_hobby", 0));

//        # lrange key start sop                    #查看指定范围内的元素

System.out.println(jedis.lrange("java_hobby", 0, 1));

Redis集合(Set)

//        # sadd key value1 [value2]                #向集合添加一个或多个元素

jedis.sadd("java_set_user","张三","李四","王五","张三丰");

//        # scard key                               #获取集合中的元素数量

System.out.println(jedis.scard("java_set_user"));

//        # exists key                              #是否存在

System.out.println(jedis.exists("java_set_user"));

4.需要ta的地方

1.存储基本上不会变化的数据 ,然后这些数据又被重复使用

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
相关文章
|
2月前
|
Java 数据安全/隐私保护
快手小红书抖音留痕工具,自动留痕插件工具,java代码开源
这个框架包含三个核心模块:主操作类处理点赞评论、配置管理类和代理管理类。使用时需要配合
|
1月前
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
223 0
|
2月前
|
Java 机器人 API
tiktok群控脚本,养号关注私信点赞脚本插件,java代码分享
这个代码模拟了一个社交机器人的基本行为模式,包括登录、关注、点赞、私信等操作。请注意
|
2月前
|
Java 编译器 数据库连接
Java异常处理:写出更健壮的代码
Java异常处理:写出更健壮的代码
149 0
|
3月前
|
缓存 监控 NoSQL
Redis 实操要点:Java 最新技术栈的实战解析
本文介绍了基于Spring Boot 3、Redis 7和Lettuce客户端的Redis高级应用实践。内容包括:1)现代Java项目集成Redis的配置方法;2)使用Redisson实现分布式可重入锁与公平锁;3)缓存模式解决方案,包括布隆过滤器防穿透和随机过期时间防雪崩;4)Redis数据结构的高级应用,如HyperLogLog统计UV和GeoHash处理地理位置。文章提供了详细的代码示例,涵盖Redis在分布式系统中的核心应用场景,特别适合需要处理高并发、分布式锁等问题的开发场景。
246 40
|
2月前
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
118 0
|
3月前
|
缓存 NoSQL Java
Java Redis 面试题集锦 常见高频面试题目及解析
本文总结了Redis在Java中的核心面试题,包括数据类型操作、单线程高性能原理、键过期策略及分布式锁实现等关键内容。通过Jedis代码示例展示了String、List等数据类型的操作方法,讲解了惰性删除和定期删除相结合的过期策略,并提供了Spring Boot配置Redis过期时间的方案。文章还探讨了缓存穿透、雪崩等问题解决方案,以及基于Redis的分布式锁实现,帮助开发者全面掌握Redis在Java应用中的实践要点。
165 6
|
2月前
|
SQL Java 数据库连接
Java 期末考试救急必备涵盖绝大多数核心考点及五大类经典代码助你过关
本文为Java期末考试复习指南,涵盖基础语法、面向对象编程、异常处理、文件操作、数据库连接五大核心考点,提供详细解析与实用代码示例,助力快速掌握重点,高效备考,轻松应对考试。
69 0
|
4月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?

热门文章

最新文章