文档章节

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

haoran_10
 haoran_10
发布于 2016/07/15 16:36
字数 376
阅读 215
收藏 0
点赞 0
评论 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
Spring集成Redis方案(spring-data-redis)(基于Jedis的单机模式)(待实践)

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

easonjim
2017/10/05
0
0
Spring Boot使用Spring Data Redis操作Redis(单机/集群)

说明:Spring Boot简化了Spring Data Redis的引入,只要引入spring-boot-starter-data-redis之后会自动下载相应的Spring Data Redis和Jedis客户端,可以减少版本这块的冲突,当然,如果要引入...

easonjim
2017/11/08
0
0
Redis 客户端Jedis使用(一)

Jedis 是Redis 的Java客户端,通过一段时间的使用,jedis基本实现redis的所有功能,并且jedis在客户端实现redis数据分片功能,Redis本身是没有数据分布功能。 一、下载jedis 代码 jedis 代码...

小李飞刀008
2013/10/17
0
0
Jedis cluster集群初始化源码剖析

在项目中我们经常使用spring-data-redis来操作Redis,它封装了Jedis客户端来与Redis服务器进行各种命令操作。由于最近用到了Redis Cluster集群功能,这里就分析总结一下Jedis cluster集群初始...

九州暮云
2017/10/30
0
0
springmvc-session+redis控制

springmvc-session+redis控制 一、maven导入需要的jar包 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>je......

上海滩
2017/10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
3
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
1
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
1
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部