文档章节

Redis开发用例

longload
 longload
发布于 2016/08/14 21:55
字数 378
阅读 48
收藏 1

Redis依赖的Jar

基于maven

<!-- redis client Dependency start-->
			<dependency>
				<groupId>redis.clients</groupId>
				<artifactId>jedis</artifactId>
				<version>2.9.0</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-pool2</artifactId>
				<version>2.4.2</version>
			</dependency>
<!-- redis client Dependency end -->

Redis客户端直接连接

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import redis.clients.jedis.Jedis;

/**
 * Redis测试 .
 * @author longload
 * @date 2016年8月14日下午9:38:32
 */
public class RedisTest {
	private static final Logger LOGGER = LoggerFactory.getLogger(RedisTest.class);

	public static void main(String[] args) {
		
		Jedis jedis = new Jedis("192.168.48.110",6379,1000);
		String key = "test";
		String value = "";
		jedis.del(key); // 删数据
		jedis.set(key, "test123"); // 存数据
		value = jedis.get(key); // 取数据
		LOGGER.info(key + "=" + value);
	}
}

    然后可以通过redis-cli 进行查看

Spring整合

  1.  Xml配置文件(spring-redis.xml)

    当然spring的加载文件需要引入该文件

    <?xml version="1.0" encoding="UTF-8"?>
    <beans
    	xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
    	xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns="http://www.springframework.org/schema/beans">
    
    	<!-- Jedis链接池配置 -->
    	<bean class="redis.clients.jedis.JedisPoolConfig" id="jedisPoolConfig">
    		<property value="true" name="testWhileIdle" />
    		<property value="60000" name="minEvictableIdleTimeMillis" />
    		<property value="30000" name="timeBetweenEvictionRunsMillis" />
    		<property value="-1" name="numTestsPerEvictionRun" />
    		<property value="8" name="maxTotal" />
    		<property value="8" name="maxIdle" />
    		<property value="0" name="minIdle" />
    	</bean>
    	<bean class="redis.clients.jedis.ShardedJedisPool" id="shardedJedisPool">
    		<constructor-arg ref="jedisPoolConfig" index="0" />
    		<constructor-arg index="1">
    			<list>
    				<bean class="redis.clients.jedis.JedisShardInfo">
    					<!-- redis服务器地址与端口 -->
    					<constructor-arg value="192.168.48.110" index="0" />
    					<constructor-arg value="6379" index="1" type="int" />
    				</bean>
    			</list>
    		</constructor-arg>
    	</bean>
    </beans>
  2. Spring使用的测试代码

    import javax.annotation.Resource;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    import redis.clients.jedis.ShardedJedis;
    import redis.clients.jedis.ShardedJedisPool;
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = "classpath:spring/spring-context.xml")
    public class RedisSpringTest {
    	@Resource
    	private ShardedJedisPool shardedJedisPool;
    	
    	Logger logger=LoggerFactory.getLogger(this.getClass());
    	@Test
    	 public void testOper(){
    		ShardedJedis shardedJedis =shardedJedisPool.getResource();
    		shardedJedis.set("test22", "11");
    		logger.debug(shardedJedis.get("test22"));
    		shardedJedis.del("test22");
    		logger.debug(shardedJedis.get("test22"));
    		shardedJedis.set("test22", "666");
    		logger.debug(shardedJedis.get("test22"));
    	}
    }

     

  3. redis开发使用的API参照地址

© 著作权归作者所有

共有 人打赏支持
longload
粉丝 3
博文 66
码字总数 104702
作品 0
成都
程序员
功能强大的 C++ redis 客户端库增加至 acl 项目中

虽然 redis 开发库已有不少,但 C/C++ 的客户端库好用的并不多,虽然官方也提供了 C 版的客户端库,但易用性较差,而且不支持连接池功能,相对于 C/C++ 的库,JAVA 版的 jedis 要好用的多,j...

郑树新
2015/02/04
7.5K
9
使用Redis之前5个必须了解的事情

使用Redis开发应用程序是一个很愉快的过程,但是就像其他技术一样,基于Redis的应用程序设计你同样需要牢记几点。在之前,你可能已经对关系型数据库开发的那一整个套路了然如胸,而基于Redis...

郭恩洲_OSC博客
2015/09/02
116
0
Redis初探(7)——Jedis操纵集群

在Redis初探(2)——Jedis的使用中,我们已经学会了Jedis操纵单机Redis的简单使用,本章将继续深入,介绍Jedis对集群的操纵。 一、Jedis连接单机 在开始介绍Jedis连接集群之前,先简单回顾下...

yuanlaijike
04/09
0
0
swoole项目开发思维转换 -- 长驻内存

从上篇的执行流程,可以得出第一个需要思维转换的点: Swoole是完全的长驻内存的 这个是和web开发第一个很大的不同,之前我们在做web开发,基本不怎么考虑内存控制的问题,这里从两个方面来进...

杨太化
2015/10/15
837
0
一个逼格很低的appium自动化测试框架

Github地址: https://github.com/wuranxu 使用说明 1. 安装配置Mongo数据库 下载地址 mongo是用来存放元素定位的,截图如下: 通过caseid区分每个case的元素定位 里面提供了value, method和t...

邻居的尾巴
2017/07/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Redis应用之分布式锁(set)

Redis应用之分布式锁(set) 在单机应用的场景下,我们常使用的锁主要是synchronized与Lock;但是在分布式横行的大环境下,显然仅仅这两种锁已经无法满足我们的需求; 需求:秒杀场景下,有若干...

GMarshal
21分钟前
0
0
python实现简单的文件加密与解密

对于任意的一个文件,本质上来讲都是二进制的。 对于任意一个二进制数a,对其用另外任意一个与a的位数相同的二进制数m进行“异或”操作得到结果e,即e=a xor m; 如果再讲上面得到的e用m进行...

Aomo
22分钟前
0
0
Android开发应用程序生成以太坊钱包

Android应用程序以太坊钱包生成,要做的工作不少,不过如果我们一步一步来应该也比较清楚: 1.在app/build.gradle中集成以下依赖项: compile ('org.web3j:core-android:2.2.1') web3j核心是...

geek12345
37分钟前
0
0
ArrayList嘿嘿嘿

数组扩容技术: //扩容技术 将原数组objs类容复制到新数组并且长度为11 Object[] newObjs = Arrays.copyOf(objs,11); 数组比较大那么System.arraycopy比较有优势,因为其使用的是内存复制,省...

熊猫你好
今天
2
0
Android平台下的一个好用的日历库(sxtwl_cpp),支持农历转公历,和公历转农历等功能

python版的sxtwl_cpp传送入口 在build.gradle的allprojects中加入 maven { url 'https://dl.bintray.com/yuangu/sxtwl' } 最终如下面代码所示: allprojects { repositories { ......

元谷
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部