java jedis_Jedis使用

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

有哪些解决方案

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

40ceacc61ab224f2f4859c5c75a8498f.png

这里的解决方案有多种,我们采用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依赖,如下:

redis.clients

jedis

2.9.0

然后我们可以通过如下一个简单的程序测试一下连接是否成功:

public static void main(String[] args) {

Jedis jedis = new Jedis("192.168.248.128", 6379);

String ping = jedis.ping();

System.out.println(ping);

}

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

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

public static void main(String[] args) {

GenericObjectPoolConfig config = new GenericObjectPoolConfig();

config.setMaxTotal(100);

config.setMaxIdle(20);

JedisPooljedisPool= new JedisPool(config,"192.168.248.128", 6379);

Jedisjedis= jedisPool.getResource(); System.out.println(jedis.ping());}

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

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

Set clusterNodes = new HashSet();

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就说这么多,有问题欢迎留言讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值