`
greemranqq
  • 浏览: 977006 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

spring-redis

阅读更多

一.序言

     这里简单介绍spring-redis 的例子,官网介绍的:http://projects.spring.io/spring-data-redis/#quick-start

 

 

二.小例子

     1.MAVEN 配置,因为是子工程,版本和日志之类的,自己搞定吧~。~

      

       <!-- 3.0 没出来- -先用2.7吧 -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.7.0</version>
        </dependency>

        <!-- spring data的结合  -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>1.5.0.RELEASE</version>
        </dependency>

        <!-- spring 基础 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

 

    2.spring 配置

    

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.0.xsd">

       <!-- 加载redis配置文件,可以后面用,为了简单我用得默认配置 -->
       <context:property-placeholder location="classpath:redis.properties"/>

       <bean id="jedisFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"/>

       <!-- 操作模板 -->
       <bean id="jedisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
              <property name="connectionFactory" ref="jedisFactory"/>
              <property name="keySerializer">
                     <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
              </property>
              <property name="valueSerializer">
                     <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
              </property>
       </bean>
</beans>

 

   3.后面自己redis.properties配置

    

# Redis settings

#redis的服务器地址
redis.host=localhost
#redis的服务端口
redis.port=6379
#密码
redis.pass=123
#链接数据库
redis.default.db= 0
#客户端超时时间单位是毫秒
redis.timeout=100000
#最大连接数
redis.maxTotal=300
#最大空闲数
redis.maxIdle=100
#最大建立连接等待时间
redis.maxWaitMillis=1000
#指明是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个
redis.testOnBorrow=true

 

  4.测试基本测试

     

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 * 基本测试
 * Created by qqr on 15/4/15.
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:/spring-redis.xml")
public class SpringRedisDemo {

    @Autowired
    RedisTemplate jedisTemplate;

    @Test
     public void putAndGet(){
        jedisTemplate.opsForHash().put("user","name","张三");
        Object name =  jedisTemplate.opsForHash().get("user","name");
        System.out.println(name);
    }
}

 

 

三.小结

      1.本文仅仅是基础常识,第一次不想太麻烦,先跑起来再说

      2.如果需要正式环境用,配置复杂一些,但是都差不多,可以去官网看看

         地址:http://docs.spring.io/spring-data/redis/docs/1.5.0.RELEASE/reference/html/

       3.spring-data 系列的东西还是比较多,可以多玩玩 挺方便的

 

其他命令详细:

http://www.cnblogs.com/stephen-liu74/archive/2012/03/19/2352932.html

0
2
分享到:
评论
4 楼 greemranqq 2015-04-19  
josico 写道
取连接一般用连接池,取不到连接是很正常的现象,特别是请求大量的时候,就更正常不过了。取连接的时候排队,排到超时,这时候这个请求对redis的操作就属于拿不到连接,和redis挂了一样。
但是redis挂了和redis没挂但没取到连接,区别很大,最大的问题就在于可能会DB缓存不同步。
因为理论上,缓存是加快系统节奏,降低DB负载的作用。你没取到连接,删了DB,缓存没删。下来再请求的时候,先请求的是缓存,这时候就会有问题,这和redis集群没关系的
greemranqq 写道
josico 写道
代码中是没有展示连接的归还是吗?

如果redis没挂,但是取不到redis连接,LZ怎么处理DB缓存不同步的问题


一般连接  和 事务  都会交给spring 处理,让我们专注业务。

没挂,但是取不到连接的问题- -,我没遇到过,你用原生的jedis 尝试下,看看能取到不。

DB缓存不同步:我们一直用的Mem缓存,redis DB才开始弄,你是用的redis 集群吧?你是数据缓存再多个点上的?



额,其实我没测试过连接压力,这里又一个压力测试的:http://blog.csdn.net/poechant/article/details/8400481

关于连接数不够这个问题,我没实际遇到过,但是是否可以用多个slave 或者多个DB 来分摊?
3 楼 josico 2015-04-18  
取连接一般用连接池,取不到连接是很正常的现象,特别是请求大量的时候,就更正常不过了。取连接的时候排队,排到超时,这时候这个请求对redis的操作就属于拿不到连接,和redis挂了一样。
但是redis挂了和redis没挂但没取到连接,区别很大,最大的问题就在于可能会DB缓存不同步。
因为理论上,缓存是加快系统节奏,降低DB负载的作用。你没取到连接,删了DB,缓存没删。下来再请求的时候,先请求的是缓存,这时候就会有问题,这和redis集群没关系的
greemranqq 写道
josico 写道
代码中是没有展示连接的归还是吗?

如果redis没挂,但是取不到redis连接,LZ怎么处理DB缓存不同步的问题


一般连接  和 事务  都会交给spring 处理,让我们专注业务。

没挂,但是取不到连接的问题- -,我没遇到过,你用原生的jedis 尝试下,看看能取到不。

DB缓存不同步:我们一直用的Mem缓存,redis DB才开始弄,你是用的redis 集群吧?你是数据缓存再多个点上的?

2 楼 greemranqq 2015-04-17  
josico 写道
代码中是没有展示连接的归还是吗?

如果redis没挂,但是取不到redis连接,LZ怎么处理DB缓存不同步的问题


一般连接  和 事务  都会交给spring 处理,让我们专注业务。

没挂,但是取不到连接的问题- -,我没遇到过,你用原生的jedis 尝试下,看看能取到不。

DB缓存不同步:我们一直用的Mem缓存,redis DB才开始弄,你是用的redis 集群吧?你是数据缓存再多个点上的?
1 楼 josico 2015-04-16  
代码中是没有展示连接的归还是吗?

如果redis没挂,但是取不到redis连接,LZ怎么处理DB缓存不同步的问题

相关推荐

    spring-data-redis-2.6.1-API文档-中文版.zip

    赠送jar包:spring-data-redis-2.6.1.jar; 赠送原API文档:spring-data-redis-2.6.1-javadoc.jar; 赠送源代码:spring-data-redis-2.6.1-sources.jar; 赠送Maven依赖信息文件:spring-data-redis-2.6.1.pom; ...

    spring-data-redis-2.3.9.RELEASE-API文档-中文版.zip

    赠送jar包:spring-data-redis-2.3.9.RELEASE.jar; 赠送原API文档:spring-data-redis-2.3.9.RELEASE-javadoc.jar; 赠送源代码:spring-data-redis-2.3.9.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-...

    spring-data-redis-2.5.5-API文档-中文版.zip

    赠送jar包:spring-data-redis-2.5.5.jar; 赠送原API文档:spring-data-redis-2.5.5-javadoc.jar; 赠送源代码:spring-data-redis-2.5.5-sources.jar; 赠送Maven依赖信息文件:spring-data-redis-2.5.5.pom; ...

    spring-session-data-redis-2.0.4.RELEASE-API文档-中文版.zip

    赠送jar包:spring-session-data-redis-2.0.4.RELEASE.jar; 赠送原API文档:spring-session-data-redis-2.0.4.RELEASE-javadoc.jar; 赠送源代码:spring-session-data-redis-2.0.4.RELEASE-sources.jar; 赠送...

    spring-session-data-redis-2.0.4.RELEASE-API文档-中英对照版.zip

    赠送jar包:spring-session-data-redis-2.0.4.RELEASE.jar; 赠送原API文档:spring-session-data-redis-2.0.4.RELEASE-javadoc.jar; 赠送源代码:spring-session-data-redis-2.0.4.RELEASE-sources.jar; 赠送...

    spring-data-redis-2.5.5-API文档-中英对照版.zip

    赠送jar包:spring-data-redis-2.5.5.jar; 赠送原API文档:spring-data-redis-2.5.5-javadoc.jar; 赠送源代码:spring-data-redis-2.5.5-sources.jar; 赠送Maven依赖信息文件:spring-data-redis-2.5.5.pom; ...

    spring-data-redis-2.0.9.RELEASE-API文档-中英对照版.zip

    赠送jar包:spring-data-redis-2.0.9.RELEASE.jar; 赠送原API文档:spring-data-redis-2.0.9.RELEASE-javadoc.jar; 赠送源代码:spring-data-redis-2.0.9.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-...

    spring-redis-test---spring redis集成

    spring和redis集成有很多方式,看到网上很多都是使用redistemplate自己去做redis 的一些操作,但是对于我们开发来说,肯定是使用越方便越好,于是乎就有了spring的对redis或者memcahe这些换成框架的封装,只需要引入...

    spring-data-redis2.jar

    spring-data-redis-2.0.0.M1.jar

    spring-data-redis-2.0.6.RELEASE-API文档-中文版.zip

    赠送jar包:spring-data-redis-2.0.6.RELEASE.jar; 赠送原API文档:spring-data-redis-2.0.6.RELEASE-javadoc.jar; 赠送源代码:spring-data-redis-2.0.6.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-...

    spring-data-redis-2.6.1-API文档-中英对照版.zip

    赠送jar包:spring-data-redis-2.6.1.jar; 赠送原API文档:spring-data-redis-2.6.1-javadoc.jar; 赠送源代码:spring-data-redis-2.6.1-sources.jar; 赠送Maven依赖信息文件:spring-data-redis-2.6.1.pom; ...

    spring-data-redis-2.0.9.RELEASE-API文档-中文版.zip

    赠送jar包:spring-data-redis-2.0.9.RELEASE.jar; 赠送原API文档:spring-data-redis-2.0.9.RELEASE-javadoc.jar; 赠送源代码:spring-data-redis-2.0.9.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-...

    spring-data-redis-1.7.5.RELEASE-API文档-中文版.zip

    赠送jar包:spring-data-redis-1.7.5.RELEASE.jar; 赠送原API文档:spring-data-redis-1.7.5.RELEASE-javadoc.jar; 赠送源代码:spring-data-redis-1.7.5.RELEASE-sources.jar; 包含翻译后的API文档:spring-...

    spring-data-redis-1.7.5.RELEASE-API文档-中英对照版.zip

    赠送jar包:spring-data-redis-1.7.5.RELEASE.jar 赠送原API文档:spring-data-redis-1.7.5.RELEASE-javadoc.jar 赠送源代码:spring-data-redis-1.7.5.RELEASE-sources.jar 包含翻译后的API文档:spring-data-...

    spring-data-redis-1.7.2.RELEASE.jar

    jedis、spring-redis-datade的整合使用,如果版本不匹配可能存在不兼容的问题,从而产生异常。 这里给出无异常的版本匹配: 1、spring-data-redis-1.7.2.RELEASE.jar 2、pring-data-commons-1.8.2.RELEASE.jar2 ...

    spring-data-redis 1.7.6

    《深入解析Spring-data-redis 1.7.6与源码分析》 Spring-data-redis是Spring框架下针对Redis数据库的扩展,它提供了一种在Java应用中方便、高效地使用Redis的方法。版本1.7.6是该库的一个稳定版本,包含了一系列的...

    spring-redis-maven整合带安装包

    Spring Redis 是一个集成Redis数据库与Spring框架的模块,它提供了对Redis数据存储的全面支持,使得在Java应用中使用Redis变得更加便捷。这个"Maven整合工程"意味着该项目使用Maven作为构建工具,通过管理依赖关系来...

    spring-data-redis-2.2.0.RELEASE.jar

    spring-data-redis-2.2.0.RELEASE

    spring-session-redis/spring整合redis管理session依赖jar包

    commons-pool2-2.3.jar,jedis-2.8.0.jar,spring-data-redis-1.6.0.RELEASE.jar,spring-session-1.1.1.RELEASE.jar,Spring-data-redis(Version 1.6.0.RC1)中文版.pdf

Global site tag (gtag.js) - Google Analytics