Java中怎么合理的使用redis?
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 中
Java中怎么合理的使用redis?的更多相关文章
- Java中Redis简单入门
Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. Redis官方网网站是:http://www.redis.io/,如下: Redis ...
- Java中Redis入门(1)
Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. Redis官方网网站是:http://www.redis.io/,如下: Redis ...
- 在java中使用redis
在java中使用redis很简单,只需要添加jedist.jar,通过它的api就可以了.而且,api和redis的语法几乎完全相同.以下简单的测试: 参考:http://www.runoob.com ...
- JAVA中使用Redis
上节讲解了如何在centos上安装redis,点击查看.本节我们学习在java中使用redis.需要将jedis-*.jar添加到classpath(点击下载),如果使用连接池还需要commons-p ...
- Redis学习记录之Java中的初步使用
1.关于Redis redis下载地址:<span style="font-family: Arial, Helvetica, sans-serif;">http:// ...
- JAVA中通过Jedis操作Redis连接与插入简单库
一.简述 JAVA中通过Jedis操作Redis连接与插入简单库 二.依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis ...
- Redis笔记(六):Java中使用Redis
Java程序使用Redis 添加依赖包 Maven依赖方式 <dependency> <groupId>redis.clients</groupId> <ar ...
- Redis实战——Redis的pub/Sub(订阅与发布)在java中的实现
借鉴:https://blog.csdn.net/canot/article/details/51938955 1.什么是pub/sub Pub/Sub功能(means Publish, Subscr ...
- java中通过配置文件的方式(Jedis驱动)使用Redis
在java中使用Redis,实际上是将Redis的一些命令封装到Jedis的实体类中,然后进行调用.
随机推荐
- Hbase启动出问题 master.HMaster: Failed to become active master
Hbase启动出问题 2019-12-15 09:59:57,183 WARN [hadoop:16000.activeMasterManager] hdfs.DFSClient: DFS Read ...
- Win32 程序开发:创建一个应用程序窗口
一.创建一个应用程序窗口 代码如下: // 头文件 #include <windows.h> // 全局变量 WCHAR g_lpszClassName[] = L"CLASSN ...
- 【python爬虫】正则表达式
一.数据的分类 1.结构化数据 特点:数据以行为单位,每一个数据表示一个实体.每一行数据的属性都是一样的. 举例:关系型数据库中的表就是结构化数据. 处理方法:sql 2.半结构化数据 特点:结构化数 ...
- Codeforces Round #594 (Div. 1)
Preface 这场CF真是细节多的爆炸,B,C,F都是大细节题,每道题都写了好久的说 CSP前的打的最后一场比赛了吧,瞬间凉意满满 希望CSP可以狗住冬令营啊(再狗不住真没了) A. Ivan th ...
- golang数据结构之树的三种遍历方式
tree.go package tree import ( "fmt" ) type TreeNode struct { ID int Val int Left *TreeNode ...
- PostgreSQL 12 YUM安装
目录 1.创建postgres用户 2.查看操作系统版本 3.配置yum源(对应CentOS 6) 4.安装客户端包 5.安装服务器端包 6.初始化数据库和设置自启动服务 7.postgres用户的b ...
- 写出这个数-PTA
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10的100次方. 输出格式: ...
- CNN反向传播更新权值
背景 反向传播(Backpropagation)是训练神经网络最通用的方法之一,网上有许多文章尝试解释反向传播是如何工作的,但是很少有包括真实数字的例子,这篇博文尝试通过离散的数据解释它是怎样工作的. ...
- l浏览器执行JS
浏览器执行JS 浏览器分成两部分:渲染引擎和JS引擎 渲染引擎:用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink,老版本的webkit JS引擎:俗称JS解析器.用来读取网页中的 ...
- sql使用cte表达式进行递归查询
--递归获取所有子节点 with temp as ( select * from MK_Base_Department where F_DepartmentId='5f258320-c1b7-42a4 ...