博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Spring Data Redis操作Redis(单机版)
阅读量:7115 次
发布时间:2019-06-28

本文共 2748 字,大约阅读时间需要 9 分钟。

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

Jedis是一款Java连接Redis的客户端,Spring基于Jedis进行了封装,提供了简洁的操作Redis的方法。那就是Spring Data Redis。其实后来研究发现,Spring Data Redis集成不止Jedits这一款,还有很多款,这些都可以通过注入连接工厂来去指定。

要使用Spring Data Redis需要做如下步骤的操作思路:

1、先建立连接工厂,这个连接工厂是用来设置IP,端口,账号密码等。

2、通过连接工厂建立Session。

3、然后在代码上注入Session进行使用。

实现步骤:

1、POM

org.springframework.data
spring-data-redis
1.7.11.RELEASE
redis.clients
jedis
2.8.2
这个版本是我在Spring Boot项目引入包得到的灵感,用1.4.7的版本,然后它就引入了上面的包,并且MVC版本为4.3.9。

2、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;  }

4、Redis的RedisTemplate 

有了Redis连接工厂,就要具体的Redis Session了。 

import org.springframework.data.redis.core.RedisTemplate;  import org.springframework.data.redis.serializer.StringRedisSerializer;  @Bean  public  RedisTemplate
redis() { RedisTemplate
redisTemplate = new RedisTemplate
(); redisTemplate.setConnectionFactory(jedisConnectionFactory()); redisTemplate.setKeySerializer(new StringRedisSerializer());//key的序列化适配器 redisTemplate.setValueSerializer(new StringRedisSerializer());//value的序列化适配器,也可以自己编写,大部分场景StringRedisSerializer足以满足需求了。 return redisTemplate; }

4、操作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
redis; public void set(String key,String value){ redis.opsForValue().set(key, value); } }
5、操作

redis.opsForValue():封装操作String

redis.opsForList():封装操作List

redis.opsForSet():封装操作Set

redis.opsForZSet():封装操作Sorted Set

redis.opsForHash():封装操作Hash

6、基于XML的配置

上面是基于注解的方式注入连接工厂和Session的,如果是基于XML的配置,可以这样设置。

说明:XjjStringRedisOps是自己封装的Session

 

参考:

(以上内容转自此篇文章,观察最后一句话,貌似这个博主有些心事!)

==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==

转载地址:http://lxwel.baihongyu.com/

你可能感兴趣的文章
怎样才能有效地在国内推广 Ubuntu?
查看>>
点一下某个按钮,表格样式变化。
查看>>
我的友情链接
查看>>
python爬虫项目(新手教程)之知乎(requests方式)
查看>>
Liunx 命令
查看>>
怎么成为一名熟练的iOS开发者
查看>>
C# datagridview绑定数据库
查看>>
CSS代码缩写、兼容浏览器技巧总结
查看>>
将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)...
查看>>
安卓五子棋(1)
查看>>
CString转换char数组
查看>>
Linux TC(Traffic Control)框架原理解析
查看>>
Windows Server入门系列32 利用SamInside获取系统密码Hash值
查看>>
取消pyharm的PEP8提示
查看>>
Citrix策略控制台无法打开
查看>>
XenCenter导出虚拟机
查看>>
linux进程管理和计划任务
查看>>
Win7 VMWare虚拟机无线上网设置图解(已测可用)
查看>>
域名跳转
查看>>
mysql主从复制--一主一从
查看>>