Redis-使用java代码操作Redis

🏅我是默,一个在CSDN分享笔记的博主。📚📚

🌟在这里,我要推荐给大家我的专栏《Linux》。🎯🎯

🚀无论你是编程小白,还是有一定基础的程序员,这个专栏都能满足你的需求。我会用最简单易懂的语言,带你走进代码的世界,让你从零开始,一步步成为编程大师。🚀🏆

🌈让我们在代码的世界里畅游吧!🌈

🎁如果感觉还不错的话请记得给我点赞哦!🎁🎁

💖期待你的加入,一起学习,一起进步💖💖

一.Java连接Redis

1.加载驱动

XML 复制代码
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

2.创建连接

java 复制代码
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类

java 复制代码
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

java 复制代码
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);



    }
}

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

java 复制代码
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.存储基本上不会变化的数据 ,然后这些数据又被重复使用

相关推荐
纳兰青华几秒前
拼图大师:从“暴力尝试“到“动态规划“的拆字艺术
java·算法·动态规划
JXCY13S5053 分钟前
集群及lvs基础知识
运维·服务器
小此方5 分钟前
Re:Linux系统篇(四十九)线程篇 · 二:为什么现代操作系统选择分页式存储?分页如何解决物理内存碎片?分页结构如何演化到页表、页目录、MMU?
linux·运维·驱动开发
Huangjin007_1 小时前
【Linux 系统篇(十一)】基础开发工具(六) —— 版本控制器 Git
linux·运维·git
j7~1 小时前
【Linux】二十六.线程篇三《Linux多线程编程:线程控制、线程ID以及进程地址空间分布、线程局部存储__thread以及clone系统调用》---详解
linux·运维·服务器·开发语言·c++·多线程编辑·线程的控制
沸速存储9 小时前
整机瓶颈判断思路,自上而下定位卡顿根源
运维·服务器·电脑·内容运营
维吉斯蔡9 小时前
【VS Code / Cursor】文件夹右键快捷打开与文件类型自动关联
开发语言·程序人生·学习方法
蓝斯4979 小时前
[原创]《C#高级GDI+实战:从零开发一个流程图》第章:增加贝塞尔曲线,上、下、左、右连接点
java·c#·流程图
weixin_382395239 小时前
为小工厂量身打造:本地部署的物料管理系统带缺料计算
前端·制造
__zRainy__9 小时前
解决pnpm v10+不自动构建
前端·pnpm·工程化