ITKeyword,专注技术干货聚合推荐

注册 | 登录

Jedis简单使用

qq_28334711 2016-08-05

推荐:redis客户端jedis的简单使用

Redis的Java客户端有很多个,官网上标星星的是Jedis,项目地址是:https://github.com/xetorthio/jedis。   下面将一下这个客户端的简单应用。 1安装、配置 如果

Jedis一、Jedis介绍Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。 在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis。Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis 二、Jedis操作2.1 jar包pom坐标:<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>2.7.0</version></dependency>commons-pool2-2.3.jar jedis-2.7.0.jar2.2 基本测试单例连接@Testpublic void testJedisSingle() {

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

jedis.set("name", "bar");

String name = jedis.get("name");

System.out.println(name);

jedis.close();}注意事项: 由于linux防火墙默认开启,redis的服务端口6379并不在开放规则之内,所有需要将此端口开放访问或者关闭防火墙。 关闭防火墙命令:sevice iptables stop 如果是修改防火墙规则,可以修改:/etc/sysconfig/iptables文件连接池连接:

通过单实例连接redis不能对redis连接进行共享,可以使用连接池对redis连接进行共享,提高资源利用率,使用jedisPool连接redis服务,如下代码:

@Test

public void pool() {

JedisPoolConfig config = new JedisPoolConfig();

//最大连接数

config.setMaxTotal(30);

//最大连接空闲数

config.setMaxIdle(2);

JedisPool pool = new JedisPool(config, "192.168.200.128", 6379);

Jedis jedis = null;

try

{

jedis = pool.getResource();

jedis.set("name", "lisi");

String name = jedis.get("name");

System.out.println(name);

}catch(Exception ex){

ex.printStackTrace();

}finally{

if(jedis != null){

//关闭连接

jedis.close();

}

}

}2.3 jedis与Spring整合<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.2.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.2.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop-3.2.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-3.2.xsd "><!-- 连接池配置 -->

<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">

<!-- 最大连接数 -->

<property name="maxTotal" value="30" /

推荐:redis学习之Jedis使用线程池封装redis的基本操作及spring的简单封装

今天是521,作为单身狗屌丝一枚,还是像往常一样没任何感觉,好悲哀。不多说,进入今天的redis学习之Jedis使用线程池封装redis的基本操作及spring的简单封装。例

>

<!-- 最大空闲连接数 -->

<property name="maxIdle" value="10" />

<!-- 每次释放连接的最大数目 -->

<property name="numTestsPerEvictionRun" value="1024" />

<!-- 释放连接的扫描间隔(毫秒) -->

<property name="timeBetweenEvictionRunsMillis" value="30000" />

<!-- 连接最小空闲时间 -->

<property name="minEvictableIdleTimeMillis" value="1800000" />

<!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->

<property name="softMinEvictableIdleTimeMillis" value="10000" />

<!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->

<property name="maxWaitMillis" value="1500" />

<!-- 在获取连接的时候检查有效性, 默认false -->

<property name="testOnBorrow" value="true" />

<!-- 在空闲时检查有效性, 默认false -->

<property name="testWhileIdle" value="true" />

<!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->

<property name="blockWhenExhausted" value="false" />

</bean>

<!-- redis单机 通过连接池 -->

<bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="close">

<constructor-arg index="0" ref="jedisPoolConfig"/>

<constructor-arg index="1" value="192.168.200.128"/>

<constructor-arg index="2" value="6379"/>

</bean>测试代码:rivate ApplicationContext applicationContext;

@Before

public void init() {

applicationContext = new ClassPathXml测试代码ApplicationContext(

"classpath:applicationContext.xml");

}

@Test

public void testJedisPool() {

JedisPool pool = (JedisPool) applicationContext.getBean("jedisPool");

try

{

jedis = pool.getResource();

jedis.set("name", "lisi");

String name = jedis.get("name");

System.out.println(name);

}catch(Exception ex){

ex.printStackTrace();

}finally{

if(jedis != null){

//关闭连接

jedis.close();

}

}

}2.4 jedis APIjedis的操作方法名与在redis客户端,命令行中,操作的方法名一模一样,所以熟练掌握命令行的命令,就可以迅速掌握jedis的使用。

$(function () {

$('pre.prettyprint code').each(function () {

var lines = $(this).text().split('\n').length;

var $numbering = $('<ul/>').addClass('pre-numbering').hide();

$(this).addClass('has-numbering').parent().append($numbering);

for (i = 1; i <= lines; i++) {

$numbering.append($('<li/>').text(i));

};

$numbering.fadeIn(1700);

});

});

推荐:redis jredis jedis 使用

一、     简介 Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合(list,se

Jedis一、Jedis介绍Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。 在官方网站里列一些Java的客户端,有Jedis、Redisson

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。