第一节:使用Jedis 连接Redis
新建maven项目:
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cy</groupId>
<artifactId>JedisDemo</artifactId>
<version>0.0.1-SNAPSHOT</version> <dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
</project>

JedisTest.java:

package com.cy.test;

import redis.clients.jedis.Jedis;

public class JedisTest {
public static void main(String[] args) {
Jedis jedis = new Jedis("192.168.8.102", 6379); // 创建客户端 设置IP和端口
jedis.auth("123456"); // 设置密码
jedis.set("name", "Jedis测试"); // 设置值
String value = jedis.get("name"); // 获取值
System.out.println(value);
jedis.close(); // 释放连接资源
}
}

在测试过程中的报错以及解决办法:

报连接错误:Caused by: java.net.SocketTimeoutException: connect timed out,需要我们配置下防火墙 开一个6379端口权限
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
 
报连接拒绝错误:Caused by: java.net.ConnectException: Connection refused: connect
需要编辑redis.conf ,将绑定本机bind 127.0.0.1注释掉;
[root@bogon redis]# vi /usr/local/redis/redis.conf
 
报连接错误:Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is running in protected mode because protected mode is enabled
这个是因为远程连接redis redis自我保护 拒绝访问;
需要设置redis连接密码:
[root@localhost redis]# ./bin/redis-cli
127.0.0.1:6379> config set requirepass 123456
设置密码 123456 127.0.0.1:6379> quit
[root@localhost redis]# ./bin/redis-cli 127.0.0.1:6379> get name
(error) NOAUTH Authentication required. 127.0.0.1:6379> auth 123456
OK
第二节:Jedis 连接池使用
JedisPoolTest.java:
package com.cy.test;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; public class JedisPoolTest {
public static void main(String[] args) {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(100); //设置最大连接数
config.setMaxIdle(10); //设置最大空闲连接数 JedisPool jedisPool = new JedisPool(config, "192.168.8.102", 6379);
Jedis jedis = null;
try{
jedis = jedisPool.getResource();
jedis.auth("123456");
jedis.set("name", "Jedis测试2");
String value = jedis.get("name");
System.out.println(value);
}catch(Exception e){
e.printStackTrace();
}finally{
if(jedis!=null){
jedis.close();
}
if(jedisPool!=null){
jedisPool.close();
}
}
}
}

最新文章

  1. ZFPlayer 源码解读
  2. JavaScript中的正则表达式(终结篇)
  3. SSH的端口转发:本地转发Local Forward和远程转发Remote Forward
  4. java基础-变量
  5. ddl dml dcl
  6. jquery选中下拉列表的某个值
  7. android背景选择器selector用法汇总
  8. ADO.NET 结构 集中数据库联接结构
  9. [Node.js] Scraping Dynamic JavaScript Websites with Nightmare
  10. PS 过滤器——运动模糊
  11. enode框架step by step之框架要实现的目标的分析思路剖析1
  12. MySQL用户管理及SQL语句详解
  13. Spark源码剖析(九):TaskScheduler原理与源码剖析
  14. 设计一个有getMin功能的栈(2)
  15. error MSB3073: 命令“copy /y
  16. GSEA - Gene set enrichment analysis 基因集富集 | ORA - Over-Representation Analysis 分析原理与应用
  17. mac上Android反编译工具apktool、dex2jar入门
  18. solr服务器搭建与Tomact整合及使用
  19. 数组用console.log输出
  20. shell格式化字符串

热门文章

  1. Linux中ctrl+z,ctrl+d和ctrl+c的区别
  2. mvc core2.1 Identity.EntityFramework Core 用户Claims查看(七)
  3. 《DSP using MATLAB》Problem5.33
  4. linux怎么不输入路径直接运行程序脚本
  5. Ts基础
  6. Linq中left join之多表查询
  7. 阿里云 qW3xT.4 挖矿病毒问题
  8. NET设计模式 第二部分 创建型模式(5):原型模式(Prototype Pattern)
  9. R3注入的四种方式
  10. Java MyBatis insert数据库数据后返回主键