redis 支撑许多言语的客户端。在官方网站上有支撑的一切的 [redis 客户端列表]。

  因为往常运用 java 作为开发言语,所以这儿描绘一下怎样通过 java 来联接和操作 redis 服务器。在官方文档中, Java 推荐的 redis 客户端是 Jedis ,这儿我们也用这个客户端对 redis 服务器进行操作。

  引进依托
  首要我们建立一个 maven 工程,在工程的 pom.xml 文件中参加 Jedis 的依托引证。为了便当查验,还参加了 Junit 依托。文件内容如下。

  
  
  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">
  4.0.0

  com.x9710.common
  redis-util
  1.0-SNAPSHOT
  
  
  commons-logging
  commons-logging
  1.1.1
  
  
  log4j
  log4j
  1.2.17
  
  
  redis.clients
  jedis
  2.9.0
  

  
  junit
  junit
  4.12
  test
  
  
  

  创建联接类
  建立 redis 联接类 com.x9710.common.redis.RedisConnection 。(ecteema)内容如下
  package com.x9710.common.redis;

  import redis.clients.jedis.Jedis;
  import redis.clients.jedis.JedisPool;
  import redis.clients.jedis.JedisPoolConfig;

  public class RedisConnection {
  /**
  * redis 联接池配备信息
  */
  private JedisPoolConfig jedisPoolConfig;
  /**
  * redis 服务器地址
  */
  private String ip;

  /**
  * redis 服务器端口
  */
  private Integer port;

  /**
  * redis 服务器暗码
  */
  private String pwd;

  /**
  * redis 服务器联接超时时间
  */
  private Integer timeOut;

  /**
  * redis 联接客户端称谓
  */
  private String clientName = null;

  private JedisPool jedisPool;

  public void setJedisPoolConfig(JedisPoolConfig jedisPoolConfig) {
  this.jedisPoolConfig = jedisPoolConfig;
  }

  public void setIp(String ip) {
  this.ip = ip;
  }

  public void setPort(Integer port) {
  this.port = port;
  }

  public void setPwd(String pwd) {
  this.pwd = pwd;
  }

  public void setTimeOut(Integer timeOut) {
  this.timeOut = timeOut;
  }

  public void setClientName(String clientName) {
  this.clientName = clientName;
  }

  private void buildConnection() {
  if (jedisPool == null) {
  if (jedisPoolConfig == null) {
  jedisPool = new JedisPool(new JedisPoolConfig(), ip, port, timeOut, pwd, 0, clientName);
  } else {
  jedisPool = new JedisPool(jedisPoolConfig, ip, port, timeOut, pwd, 0, clientName);
  }
  }
  }

  public Jedis getJedis() {
  buildConnection();
  if (jedisPool != null) {
  return jedisPool.getResource();
  }
  return null;
  }

  }

  编写查验
  用一个查验类 com.x9710.common.redis.test.RedisConnectionTest 来查验 rdis 联接功用.(gzhongLan

  package com.x9710.common.redis.test;

  import com.x9710.common.redis.RedisConnection;
  import org.junit.Assert;
  import org.junit.Before;
  import org.junit.Test;
  import redis.clients.jedis.Jedis;
  import redis.clients.jedis.JedisPoolConfig;

  public class RedisConnectionTest {
  private RedisConnection redisConnection;

  @Before
  public void before() {
  JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
  //设置 redis 联接池最大联接数量
  jedisPoolConfig.setMaxTotal(50);
  //设置 redis 联接池最大闲暇联接数量
  jedisPoolConfig.setMaxIdle(10);
  //设置 redis 联接池最小闲暇联接数量
  jedisPoolConfig.setMinIdle(1);
  redisConnection = new RedisConnection();
  redisConnection.setIp("10.110.2.56");
  redisConnection.setPort(52981);
  redisConnection.setPwd("hhSbcpotThgWdnxJNhrzwstSP20DvYOldkjf");
  redisConnection.setClientName(Thread.currentThread().getName());
  redisConnection.setTimeOut(600);
  redisConnection.setJedisPoolConfig(jedisPoolConfig);
  }

  @Test
  public void testPutGet() {
  Jedis jedis = redisConnection.getJedis();
  try {
  jedis.select(1);
  jedis.set("name","grace");
  Assert.assertTrue("grace".equals(jedis.get("name")));
  } finally {
  if (jedis != null) {
  jedis.close();
  }
  }
  }
  }

  在 ide 环境中实施查验用例,作用如下。

  image
  现在,我们就在 Java 中使用 Jedit 客户端建立和 redis 的联接并且能够实施操作。对应的代码发布到了 GitHub 中

最新文章

  1. 一、ASP.NET MVC 路由(一)--- ASP.NET WebForm路由模拟
  2. Python全栈---5.1---装饰器
  3. DashClock
  4. PHPExcel读取excel03/07版到数组
  5. TDD 实践过程
  6. java泛型中? super T和? extends T的区别
  7. getResource(String name)用法及源码分析
  8. oracle分区表运行计划
  9. 七个 Android 程序猿提高效率必备工具
  10. app.config 配置多项 配置集合 自定义配置
  11. maven创建项目,打包出可执行Jar
  12. Django中组合搜索功能
  13. 【转】SpringBoot系列之—瘦身部署
  14. 工具类-vim在shell中卡死的情况
  15. android 不失真 显示 超高清 图片 长图
  16. Android Processes and Threads
  17. docker——网络配置
  18. 使用EA软件画数据库图表
  19. {Reship}{Sparse Representation}稀疏表示
  20. [New learn] UIKit 框架类

热门文章

  1. (day59)十一、CSRF、Auth模块、impotlib模块、settings源码
  2. C#读取匿名对象的属性值的方法总结
  3. 【Notepad++】notepad++主题和字体设置(非常好看舒服的)
  4. ubuntu 18.04 安装mysql 遇到语言格式不兼容性问题解决
  5. Spring提供JdbcTemplate&NamedParameterJdbcTemplate
  6. Jmeter-Java请求实战
  7. Linux帮助——常用命令
  8. iOS----------苹果警告
  9. 第三方库Mantle的简单实用
  10. hook declined to update refs/heads/dev