Jedis 使用

栏目: 数据库 · 发布时间: 5年前

内容简介:Redis 的知识我们已经介绍的差不多了,本文我们来看看如何使用 Java 操作 redis。本文是Redis系列的第十三篇文章,了解前面的文章有助于更好的理解本文:1.

Redis 的知识我们已经介绍的差不多了,本文我们来看看如何使用 Java 操作 redis。

本文是 Redis 系列的第十三篇文章,了解前面的文章有助于更好的理解本文:

1. Linux 上安装 Redis

2. Redis 中的五种数据类型简介

3. Redis 字符串 (STRING) 介绍

4. Redis 字符串 (STRING) 中 BIT 相关命令

5. Redis 列表与集合

6. Redis 散列与有序集合

7. Redis 中的发布订阅和事务

8. Redis 快照持久化

9. Redis 之 AOF 持久化

10. Redis 主从复制(一)

11. Redis 主从复制(二)

12. Redis 集群搭建

有哪些解决方案

查看 redis 官网,我们发现用 Java 操作 redis,我们有多种解决方案,如下图:

Jedis 使用

这里的解决方案有多种,我们采用 Jedis,其他的框架也都大同小异,我这里权当抛砖引玉,小伙伴也可以研究研究其他的方案,欢迎投稿。

配置

客户端要能够成功连接上 redis 服务器,需要检查如下三个配置:

1.远程 Linux 防火墙已经关闭,以我这里的 CentOS7 为例,关闭防火墙命令 systemctl stop firewalld.service ,同时还可以再补一刀 systemctl disable firewalld.service 表示禁止防火墙开机启动。

2.关闭 redis 保护模式,在 redis.conf 文件中,修改 protected 为 no,如下:

protected-mode no

3.注释掉 redis 的 ip 地址绑定,还是在 redis.conf 中,将 bind:127.0.0.1 注释掉,如下:

# bind:127.0.0.1

确认了这三步之后,就可以远程连接 redis 了。

Java 端配置

上面的配置完成后,我们可以创建一个普通的 JavaSE 工程来测试下了,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("192.168.248.128", 6379);
    String ping = jedis.ping();
    System.out.println(ping);
}

运行之后,看到如下结果表示连接成功了:

Jedis 使用

连接成功之后,剩下的事情就比较简单了,Jedis 类中方法名称和 redis 中的命令基本是一致的,看到方法名小伙伴就知道是干什么的,因此这些我这里不再重复叙述。

频繁的创建和销毁连接会影响性能,我们可以采用连接池来部分的解决这个问题:

public static void main(String[] args) {
    GenericObjectPoolConfig config = new GenericObjectPoolConfig();
    config.setMaxTotal(100);
    config.setMaxIdle(20);
    JedisPool jedisPool = new JedisPool(config, "192.168.248.128", 6379);
    Jedis jedis = jedisPool.getResource();
    System.out.println(jedis.ping());
}

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

上面这种连接都是连接单节点的 Redis,如果是一个 Redis 集群,要怎么连接呢?很简单,如下:

Set<HostAndPort> clusterNodes = new HashSet<HostAndPort>();
clusterNodes.add(new HostAndPort("192.168.248.128", 7001));
clusterNodes.add(new HostAndPort("192.168.248.128", 7002));
clusterNodes.add(new HostAndPort("192.168.248.128", 7003));
clusterNodes.add(new HostAndPort("192.168.248.128", 7004));
clusterNodes.add(new HostAndPort("192.168.248.128", 7005));
clusterNodes.add(new HostAndPort("192.168.248.128", 7006));
JedisCluster jc = new JedisCluster(clusterNodes);
jc.set("address", "深圳");
String address = jc.get("address");
System.out.println(address);

JedisCluster 中的方法与 Redis 命令也是基本一致,我就不再重复介绍了。

好了,jedis 就说这么多,有问题欢迎留言讨论。


以上所述就是小编给大家介绍的《Jedis 使用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

成功由我

成功由我

刘世英、彭征 / 湖南人民出版社 / 2010-2 / 28.00元

《成功由我:李彦宏快乐成功之道》讲述:他,18岁高分考入北京大学,毕业后到美国名校学习最热门的计算机专业,然后闯荡于华尔街和硅谷这两大金融和技术圣地,31岁回国创立百度……到如今身价数十亿美元,领导的百度发展成为全球第二大搜索引擎,在国内搜索市场占据近八成的市场份额,将有“上帝”之称的Google抛在身后,最近他又掀起了“框计算”风暴,并雄心万丈宣称“未来十年,要让百度在全球一半以上国家成为家喻户......一起来看看 《成功由我》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具