Jedis的使用及SpringBoot整合Redis
1、导入对应的依赖
<!--jedis--><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.2.0</version></dependency><!--fastjson--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency><dependency><groupId>commons-pool</groupId><artifactId>commons-pool</artifactId><version>1.6</version></dependency>
事务的使用
public static void main(String[] args){Jedis jedis = new Jedis("39.96.113.156", 6379);
// 设置密码jedis.auth("26993958a");jedis.flushDB();JSONObject jsonObject = new JSONObject();jsonObject.put("hello","world");jsonObject.put("name","kuangshen");System.out.println(jedis.ping());// 开启事务Transaction multi = jedis.multi();String result = jsonObject.toJSONString();// jedis.watch(result)try {multi.set("user1",result);multi.set("user2",result);multi.exec(); // 执行事务!} catch (Exception e) {multi.discard(); // 放弃事务e.printStackTrace();} finally {System.out.println(jedis.get("user1"));System.out.println(jedis.get("user2"));jedis.close(); // 关闭连接}}
SpringBoot整合
SpringBoot 操作数据:spring-data jpa jdbc mongodb redis!
SpringData 也是和 SpringBoot 齐名的项目!
说明: 在 SpringBoot2.x 之后,原来使用的jedis 被替换为了 lettuce?
jedis : 采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用 jedis pool 连接
池! 更像 BIO 模式
lettuce : 采用netty,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据
了,更像 NIO 模式
源码分析:
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(RedisOperations.class)
@EnableConfigurationProperties(RedisProperties.class)
@Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class })
public class RedisAutoConfiguration {@Bean@ConditionalOnMissingBean(name = "redisTemplate")// 我们可以自己定义一个 redisTemplate来替换这个默认的!public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)throws UnknownHostException {// 默认的 RedisTemplate 没有过多的设置,redis 对象都是需要序列化! // 两个泛型都是 Object, Object 的类型,我们后使用需要强制转换 <String, Object>RedisTemplate<Object, Object> template = new RedisTemplate<>();template.setConnectionFactory(redisConnectionFactory);return template;}@Bean@ConditionalOnMissingBean// 由于 String 是redis中最常使用的类型,所以说单独提出来了一 个bean!public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory)throws UnknownHostException {StringRedisTemplate template = new StringRedisTemplate();template.setConnectionFactory(redisConnectionFactory);return template;}}
1.导入依赖
<!-- 操作redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.配置连接
spring.redis.host=xxxxxxx
spring.redis.port=xxxxxxx
spring.redis.password=xxxxxxx
3.测试
@Testpublic void contextLoads() {// opsForValu操作字符串redisTemplate.opsForValue().set("name","chenshengming");String name = (String)redisTemplate.opsForValue().get("name");System.out.println(name);
// 返回Redis的链接对象RedisConnection redisConnection=redisTemplate.getConnectionFactory().getConnection();redisConnection.flushDb();redisConnection.flushAll();}
4.关于对象的保存:
5.我们来编写一个自己的 RedisTemplete
Jedis的使用及SpringBoot整合Redis相关推荐
- 跟着狂神学Redis(NoSql+环境配置+五大数据类型+三种特殊类型+Hyperloglog+Bitmap+事务+Jedis+SpringBoot整合+Redis持久化+...)
跟着狂神学Redis 狂神聊Redis 学习方式:不是为了面试和工作学习!仅仅是为了兴趣!兴趣才是最好的老师! 基本的理论先学习,然后将知识融汇贯通! 狂神的Redis课程安排: nosql 讲解 阿 ...
- Redis学习篇3_事务及其监控(锁)、Jedis、SpringBoot整合Redis、RedisTemplate的json序列化、RedisUtil工具类
目录 事务及其监控(锁) Jedis SpringBoot整合Redis RedisTemplate 默认RedisTemplate来源 关于中文序列化问题 RedisUtil工具类 一.事务及其监控 ...
- Springboot整合redis(lettuce)
springboot 整合redis(lettuce) 首先确保电脑上装了redis.最好能用redisDesktop查看一下数据情况 redis是一款非常流行的Nosql数据库.redis的功能非常 ...
- 【Java进阶】SpringBoot整合Redis
SpringBoot整合Redis SpringBoot 操作数据:spring-data jpa jdbc mongodb redis SpringData 也是和 SpringBoot 齐名的项目 ...
- SpringBoot整合Redis要注意的那些
前言 昨天自己在重新学习SpringBoot整合Redis时,遇到了一个问题java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/ ...
- SpringBoot(六):SpringBoot整合Redis
From: https://blog.csdn.net/plei_yue/article/details/79362372 前言 在本篇文章中将SpringBoot整合Redis,使用的是RedisT ...
- SpringBoot系列十:SpringBoot整合Redis
From: https://www.cnblogs.com/leeSmall/p/8728231.html 声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Sprin ...
- SpringBoot 整合Redis报错:NoClassDefFoundError: redis/clients/util/SafeEncoder
QUESTION:SpringBoot 整合Redis报错:NoClassDefFoundError: redis/clients/util/SafeEncoder? ANSWER: 这种情况是版本不 ...
- SpringBoot整合Redis集群版本问题
QUESTION:SpringBoot整合Redis集群版本问题? ANSWER: 版本依赖: <dependencies><!-- https://mvnrepository.co ...
最新文章
- 我的小作品(烂笔头)
- 《视觉SLAM十四讲》笔记(ch8)
- 简单了解各种序列化技术-Protobuf序列化框架
- [黑客技术]提权总结21种办法篇
- [蓝桥杯][2017年第八届真题]拉马车(String)
- Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB
- 【Java】网络编程
- ascii码01100001_ASCII码跟数字
- launch images source启动图删除后上下有黑边
- Front_end - - BOM和DOM
- jquery 获取 radio值 与 jQuery filter() 方法
- vmware vSAN 入门
- pygame之key模块
- 火狐8下,QQ邮箱大附件下载无法识…
- Android获取视频文件时长
- 应用文件夹加入环境变量
- 如何用GBD确认函数属于哪个库
- HTML文字左侧留白,DIV CSS padding内补白(内边距)left right top bottom
- 【转】右键菜单大揭密
- 如何用MD5加密数据库的敏感数据?