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

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方法调用将在(二)篇中详细描述,感谢你读到这里,希望对你有所帮助!!!


http://www.kler.cn/a/573385.html

相关文章:

  • 在https的网站里访问http的静态资源
  • AI数字人源码开发---SaaS化源码部署+PC+小程序一体化
  • 微信小程序投票系统的构建与实现
  • 200W数据去重入库的几种方法及优缺点
  • 云原生 DB 技术将取代K8S为基础云数据库服务-- 2025年云数据库专栏(一)
  • formdata 传list
  • c++ 接口/多态
  • 拉货搬家小程序开发中保障用户隐私和数据安全的方法
  • IntelliJ IDEA集成MarsCode AI
  • CentOS 8.2 更新源
  • 谷歌浏览器插件开发避免跨域以及流式数据输出
  • Oracle常用分析诊断工具(9)——AWR
  • OpenAI 最后一代非推理模型:OpenAI 发布 GPT-4.5预览版
  • 多线程的使用、同步和异步、synchronized、线程安全的单例模式、死锁、解决死锁
  • Windows系统编程(八)线程同步
  • 系统架构设计师—软件工程基础篇—系统分析与设计
  • FastGPT 源码:utils.ts 中的 RRF 实现
  • C++学习之路,从0到精通的征途:入门基础
  • yum修改阿里云
  • C#—csv文件格式操作实例【在winform表格中操作csv】