美文网首页
Redis-14-Jedis的基本使用

Redis-14-Jedis的基本使用

作者: 冷风_f818 | 来源:发表于2019-04-28 18:17 被阅读0次

前面的文章中介绍了一些reids的基本命令,数据结构,持久化方式,还有主从集群等等,我们操作redis的数据的时候一直是在redis-cli里面的,本文就来看一下如何用java去操作redis,java操作reids的方式有很多种,这里首先先介绍的是Jedis

准备工作

远程连接reids的前提是,系统关闭防火墙,reids关闭保护模式,还有注释掉redis的ip地址绑定,这些配置基本在前文中已经介绍了,这里再来看一下

关闭防火墙

这里以centos7为例,关闭防火墙命令是:

systemctl stop firewalld.service

再补一刀直接禁掉

systemctl disable firewalld.service

关闭保护模式

就是redis配置中的protected设置为no,之前一直都是设置的no,如下:

protected-mode no

注释掉redis的ip地址绑定

也是在redis.conf中

# bind:127.0.0.1

java客户端连接

首先,新建一个工程,然后引入jedis的依赖,如下:

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

然后可以写一个方法去测试一下,如下:

public static void main(String[] args) {
    Jedis jedis = new Jedis("172.16.12.3", 6379);
    // 如果设置了密码的话,就需要认证 
    jedis.auth("123456");
    log.info(jedis.ping());
}

运行,控制台输出:

16:48:40.227 [main] INFO com.redis.example.test.JedisTest - PONG

连接完成之后就可以对redis中的数据进行操作了,jedis方法名称基本是和命令是一样的,如下:

image

需要用到什么方法,直接通过方法名找就好了,这里就不在多说了

连接池

上面的例子中,频繁的创建和销毁连接会影响性能,我们可以采用连接池来部分的解决这个问题,代码如下:

public static void main(String[] args) {
    GenericObjectPoolConfig config = new GenericObjectPoolConfig();
    config.setMaxIdle(20);
    config.setMaxTotal(100);
    
    // ip 端口 超时时间  密码
    JedisPool jedisPool = new JedisPool(config, "172.16.12.3", 6379, 5000, "123456");
    Jedis jedis = jedisPool.getResource();
    log.info(jedis.ping());
}

这样就不会频繁的创建销毁连接了,在JavaSE环境中可以把连接池配置成一个单例模式,如果用了Spring容器的话,可以把连接池交给Spring容器管理

集群连接

上面连接的都是单节点的redis,如果我们想连接一个reids集群呢,代码如下:

public static void main(String[] args) {
    Set<HostAndPort> clusterNodes = new HashSet<>();
    clusterNodes.add(new HostAndPort("172.16.12.3", 7000));
    clusterNodes.add(new HostAndPort("172.16.12.3", 7001));
    clusterNodes.add(new HostAndPort("172.16.12.3", 7002));
    clusterNodes.add(new HostAndPort("172.16.12.3", 7003));
    clusterNodes.add(new HostAndPort("172.16.12.3", 7004));
    clusterNodes.add(new HostAndPort("172.16.12.3", 7005));

    JedisCluster jedisCluster = new JedisCluster(clusterNodes);
    jedisCluster.set("testKey", "java");

    log.info(jedisCluster.get("testKey"));

}

运行,控制台输出

17:13:31.633 [main] INFO com.redis.example.test.JedisTest - java

这里方法名也和redis的命令基本一致,这里就不多说了

jedis就先介绍到这里

相关文章

  • Redis-14-Jedis的基本使用

    述 前面的文章中介绍了一些reids的基本命令,数据结构,持久化方式,还有主从集群等等,我们操作redis的数据的...

  • 基本的使用

    存cookie 取cookie 存session 取session

  • Flutter--Text/Container/Image

    Text基本使用 Container基本使用 Image基本使用

  • 基本使用

    1、 打开需要上传的文件夹执行: git init 格式化窗口 2、执行 git add . 上传文件 3、执行 ...

  • 基本使用

    href="javascript:;" 其中javascript: 是一个伪协议。它可以让我们通过一个链接来调用...

  • 基本使用

    数据库: 什么是数据库?简单来说就是存数据的。 都有什么是数据库? oracle(强大,跟金融政府打交道的,安全,...

  • 基本使用

    本文参考:https://morvanzhou.github.io/tutorials/machine-learn...

  • SQL语句基本使用

    SQL语句基本使用——增删改查 SQL语句基本使用——WHERE子句 SQL语句基本使用——AND和OR的使用 S...

  • 6-xpath和css select基本使用

    Xpath基本使用 css select基本使用

  • NSInvocation的基本使用

    前提: 在 iOS中可以直接调用某个对象的消息方式有两种:一种是performSelector:withObjec...

网友评论

      本文标题:Redis-14-Jedis的基本使用

      本文链接:https://www.haomeiwen.com/subject/qnmjnqtx.html