文档章节

redis(3)、基于jedis、spring-data-redis 连接操作redis

haoran_10
 haoran_10
发布于 2016/07/15 16:36
字数 376
阅读 218
收藏 0

 

jedis是一款java连接redis的客户端,spring基于jedis进行了封装,提供了简洁的操作redis的方法。

使用maven进行管理jar包之间的依赖:

<dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>${spring-data-redis-version}</version>
</dependency>
<dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>${redis.clients-jedis-version}</version>
 </dependency>

 spring-data-redis需要依赖jedis包,事实上spring-data-redis pom文件中就自动包含了jedis的配置。 http://www.mvnrepository.com/  依据所需要的版本。

(1)、JedisConnectionFactory  redis连接工厂

类似于数据库连接池一样,redis客户端也建立一个连接工厂

import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
@Bean
    public JedisConnectionFactory jedisConnectionFactory() {
        JedisConnectionFactory connFactory = new JedisConnectionFactory();

        connFactory.setHostName("127.0.0.1");
        connFactory.setPort(6379);
        connFactory.setUsePool(true);//使用连接池
        return connFactory;
    }

(2)、redis  RedisTemplate 

有了redis连接工厂,就要具体的redis session了,这些都是一个道理。 

import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Bean
    public  RedisTemplate<String, String> redis() {
        RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();

        redisTemplate.setConnectionFactory(jedisConnectionFactory());
        redisTemplate.setKeySerializer(new StringRedisSerializer());//key的序列化适配器
        redisTemplate.setValueSerializer(new StringRedisSerializer());//value的序列化适配器,也可以自己编写,大部分场景StringRedisSerializer足以满足需求了。

        return redisTemplate;
    }

 

(3)、万事俱备,开始操作redis

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

@Component
public class CacheDemo {
    @Autowired private RedisTemplate<String, String> redis;

    public void set(String key,String value){
        redis.opsForValue().set(key, value);
    }
}

 

(4)、总结。

要是一切事情都像这么简单就好了,不过spring已经封装的极其简洁,操作起来也非常方便。

redis.opsForValue()  封装操作strings

redis.opsForList()   封装操作list

redis.opsForSet() 封装操作sets

redis.opsForZSet() 封装操作sorted sets

redis.opsForHash() 封装操作hashs

 

其他的东西继续挖掘吧。

 

© 著作权归作者所有

共有 人打赏支持
haoran_10
粉丝 25
博文 88
码字总数 80846
作品 0
杭州
程序员
私信 提问
使用Spring Data Redis操作Redis(单机版)

说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点。并且会与一些低版本的Spring有冲突,要看官方文档...

easonjim
2017/11/08
0
0
征服 Redis + Jedis

用Memcached,对于缓存对象大小有要求,单个对象不得大于1MB,且不支持复杂的数据类型,譬如SET 等。基于这些限制,有必要考虑Redis! 相关链接: 征服 Redis 征服 Redis + Jedis 征服 Redi...

凯文加内特
2015/03/18
0
0
redis(三)与spring整合

一、 AVA操作redis通常使用的是Jedis,通过java代码来操作redis的数据存储读取等操作,用过的人应该知道,Jedis客户端已经足够简单和轻量级了,但是呢,在此同时,Spring也为Redis提供了支持...

废柴
07/11
0
0
Spring集成redis(Spring Data Redis)

转载地址:http://blog.csdn.net/zhu_tianwei/article/details/44923001 Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(...

Mr_zebra
06/06
0
0
Spring Data Redis与Jedis的选择(转)

说明:内容可能有点旧,需要在业务上做权衡。 Redis的客户端有两种实现方式,一是可以直接调用Jedis来实现,二是可以使用Spring Data Redis,通过Spring的封装来调用。应该使用哪一个呢?基于...

easonjim
2017/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mariadb二进制包安装,Apache安装

安装mariadb 下载二进制包并解压 [root@test-a src]# wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.t......

野雪球
今天
3
0
ConcurrentHashMap 高并发性的实现机制

ConcurrentHashMap 的结构分析 为了更好的理解 ConcurrentHashMap 高并发的具体实现,让我们先探索它的结构模型。 ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。HashEnt...

TonyStarkSir
今天
3
0
大数据教程(7.4)HDFS的java客户端API(流处理方式)

博主上一篇博客分享了namenode和datanode的工作原理,本章节将继前面的HDFS的java客户端简单API后深度讲述HDFS流处理API。 场景:博主前面的文章介绍过HDFS上存的大文件会成不同的块存储在不...

em_aaron
昨天
4
0
聊聊storm的window trigger

序 本文主要研究一下storm的window trigger WindowTridentProcessor.prepare storm-core-1.2.2-sources.jar!/org/apache/storm/trident/windowing/WindowTridentProcessor.java public v......

go4it
昨天
7
0
CentOS 生产环境配置

初始配置 对于一般配置来说,不需要安装 epel-release 仓库,本文主要在于希望跟随 RHEL 的配置流程,紧跟红帽公司对于服务器的配置说明。 # yum update 安装 centos-release-scl # yum ins...

clin003
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部