当前位置: 首页 > news >正文

Redis maven项目 jedis 客户端操作(一)

一、配置

        首先是在云服务器上部署Redis服务器,但是出于对安全性的考虑,我们不能够轻易的打开6379的默认端口。那我们要怎样从本机来访问到云端的服务器呢?注意到,我们可以利用ssh协议进行端口转发,和端口映射,通过设置一个本机的端口,来映射到云端服务器,然后进行操作。

        我这边以Xshell终端为例,首先cd /etc/redis,然后输入ll 查看文件夹,找到redis.conf,

输入vim redis.conf,进入配置文件内进行修改,将bind改为0.0.0.0,将保护模式改为no,编辑完后保存并退出。

接着我们来配置Xshell终端的ssh协议:

右键云服务器连接的属性,点击ssh下的隧道配置,然后将侦听端口改为本机的自定义闲置端口,目标端口改为Redis默认端口6379,点击确定,然后重新连接。

我们可以在本地控制台进行检验设置是否生效,win+r,输入cmd,然后输入netstat -ano | findstr 8888,进行检验是否设置OK。

二、导入依赖

我们首先去创建一个java的maven项目,然后去maven仓库的网站(点这->maven)搜索jedis。

复制红框部分,粘贴到项目的pom文件中,然后创建JedisPool池对象,输入url,就可以开始进行相关代码的编写了

三、jedis方法调用样例

代码如下:

(1)get,set,expire,ttl,type命令对应的方法调用:

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import java.util.Set;

public class RedisDemoGeneric {
    public static void test1(Jedis jedis){
        System.out.println("get set");
        jedis.flushAll();
        jedis.set("key", "111");
        jedis.set("key2", "222");
        jedis.set("key3", "333");
        jedis.set("key4", "444");
        // boolean result = jedis.exists("key");
        // long result2 = jedis.del("key");
        // boolean result3 = jedis.exists("key");
        // System.out.println(result+" "+result2+" "+result3);
        // long result4 = jedis.del("key","key2","key3","key4");
        // boolean result2 = jedis.exists("key2");
        // System.out.println(result+" "+result2+" "+result4);
        Set<String> keys=jedis.keys("*");
        System.out.println(keys);

    }
    public static void test2(Jedis jedis)  {
        System.out.println("expire ttl");
        jedis.flushAll();
        jedis.set("key", "111");
        jedis.expire("key", 10);
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        long time = jedis.ttl("key");
        System.out.println(time);
    }

    public static void test3(Jedis jedis)  {
        System.out.println("type:");
        jedis.flushAll();
        jedis.set("key", "111");
        String type=jedis.type("key");
        System.out.println(type);
        jedis.lpush("key1", "111", "222", "333", "444");
        String type1=jedis.type("key1");
        System.out.println(type1);
        jedis.hset("key2", "f1", "111");
        String type2=jedis.type("key2");
        System.out.println(type2);
        jedis.sadd("key3","111","222","kzf");
        String type3=jedis.type("key3");
        System.out.println(type3);
        jedis.zadd("key4",10,"kzf");
        String type4=jedis.type("key4");
        System.out.println(type4);
    }
    public static void main(String[] args)  {
        JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");
        try (Jedis jedis = jedisPool.getResource()) {
            // String pong = jedis.ping();
            // System.out.println(pong);
            // test1(jedis);
            // test2(jedis);
            test3(jedis);
        }
    }
}

(2)String类型value的相关方法调用:

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import java.util.List;


public class RedisDemoString {
    public static void test1(Jedis jedis) {
        System.out.println("mget 和 mset");
        jedis.flushAll();
        jedis.mset("key1", "111", "key2", "222","key3", "333");
        List<String> values = jedis.mget("key1", "key2","key3");
        System.out.println(values);
    }
    public static void test2(Jedis jedis) {
        System.out.println("getrange 和 setrange");
        jedis.flushAll();
        jedis.set("key","abcdefghijklmn");;
        String result = jedis.getrange("key",0,-1);
        System.out.println(result);

        jedis.setrange("key",3,"我的发");//redis中一个汉字三个字节
        result = jedis.getrange("key",0,-1);
        System.out.println(result);
    }
    public static void test3(Jedis jedis) {
        System.out.println("append:");
        jedis.flushAll();
        jedis.set("key","kzf");
        jedis.append("key"," love whx");
        String value= jedis.get("key");
        System.out.println(value);

    }
    public static void test4(Jedis jedis) {
        System.out.println("incr 和 decr");
        jedis.flushAll();
        jedis.set("key","222");
        System.out.println(jedis.get("key"));
        long result=jedis.incr("key");
        System.out.println(result);
        result = jedis.decr("key");
        System.out.println(result);
    }
    public static void main(String[] args) {
        JedisPool jedisPool = new JedisPool("127.0.0.1", 8888);
        try (Jedis jedis = jedisPool.getResource()) {
            test4(jedis);
        }
    }
}

四、PS

       剩余的redis的value的常见类型的jedis方法调用将在(二)篇中详细描述,感谢你读到这里,希望对你有所帮助!!!

相关文章:

  • 《Python实战进阶》No13: NumPy 数组操作与性能优化
  • 点云软件VeloView开发环境搭建与编译
  • ubuntu22.04机器人开发环境配置
  • 使用Wireshark截取并解密摄像头画面
  • golang从入门到做牛马:第三篇-Go程序的“骨骼架构”
  • js 判断当前时间是属于早上、上午 、中午、下午 或者晚上
  • 5人3小时复刻Manus?开源OpenManus项目全解剖,我的DeepSeek股票报告这样诞生
  • SAP DOI EXCEL宏的使用
  • 面试基础---Spring Cloud 微服务架构中的网关:Spring Cloud Gateway 与 Zuul 深度解析
  • 蓝耘智算平台部署deepseek-深度学习
  • 计算机毕业设计SpringBoot+Vue.js华府便利店信息管理系统(源码+文档+PPT+讲解)
  • 权限系统基础知识笔记
  • SpringBoot整合Rabbitmq
  • 第8章 访问管理(网络安全防御实战--蓝军武器库)
  • 顶点着色器和片段着色器
  • HarmonyOS 应用程序包结构 (发布态)
  • 【Linux】重定向输出到文件
  • AI赋能企业协作5-基于Langchain的企业应用落地
  • 【JAVA架构师成长之路】【Redis】第12集:Redis缓存雪崩
  • uniapp使用蓝牙,usb,局域网,打印机打印
  • 建设银行黄陂支行网站/软文推广页面
  • 南昌做网站哪家好/交换链接的作用
  • 网站制作属于什么科目/网络销售就是忽悠人
  • 静态网站的设计方案/厨师培训
  • 做旅游平台网站找哪家好/产品销售方案与营销策略
  • 怎么写代码自己制作网站/网站信息查询