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相关推荐

  1. 跟着狂神学Redis(NoSql+环境配置+五大数据类型+三种特殊类型+Hyperloglog+Bitmap+事务+Jedis+SpringBoot整合+Redis持久化+...)

    跟着狂神学Redis 狂神聊Redis 学习方式:不是为了面试和工作学习!仅仅是为了兴趣!兴趣才是最好的老师! 基本的理论先学习,然后将知识融汇贯通! 狂神的Redis课程安排: nosql 讲解 阿 ...

  2. Redis学习篇3_事务及其监控(锁)、Jedis、SpringBoot整合Redis、RedisTemplate的json序列化、RedisUtil工具类

    目录 事务及其监控(锁) Jedis SpringBoot整合Redis RedisTemplate 默认RedisTemplate来源 关于中文序列化问题 RedisUtil工具类 一.事务及其监控 ...

  3. Springboot整合redis(lettuce)

    springboot 整合redis(lettuce) 首先确保电脑上装了redis.最好能用redisDesktop查看一下数据情况 redis是一款非常流行的Nosql数据库.redis的功能非常 ...

  4. 【Java进阶】SpringBoot整合Redis

    SpringBoot整合Redis SpringBoot 操作数据:spring-data jpa jdbc mongodb redis SpringData 也是和 SpringBoot 齐名的项目 ...

  5. SpringBoot整合Redis要注意的那些

    前言 昨天自己在重新学习SpringBoot整合Redis时,遇到了一个问题java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/ ...

  6. SpringBoot(六):SpringBoot整合Redis

    From: https://blog.csdn.net/plei_yue/article/details/79362372 前言 在本篇文章中将SpringBoot整合Redis,使用的是RedisT ...

  7. SpringBoot系列十:SpringBoot整合Redis

    From: https://www.cnblogs.com/leeSmall/p/8728231.html 声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Sprin ...

  8. SpringBoot 整合Redis报错:NoClassDefFoundError: redis/clients/util/SafeEncoder

    QUESTION:SpringBoot 整合Redis报错:NoClassDefFoundError: redis/clients/util/SafeEncoder? ANSWER: 这种情况是版本不 ...

  9. SpringBoot整合Redis集群版本问题

    QUESTION:SpringBoot整合Redis集群版本问题? ANSWER: 版本依赖: <dependencies><!-- https://mvnrepository.co ...

最新文章

  1. 我的小作品(烂笔头)
  2. 《视觉SLAM十四讲》笔记(ch8)
  3. 简单了解各种序列化技术-Protobuf序列化框架
  4. [黑客技术]提权总结21种办法篇
  5. [蓝桥杯][2017年第八届真题]拉马车(String)
  6. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB
  7. 【Java】网络编程
  8. ascii码01100001_ASCII码跟数字
  9. launch images source启动图删除后上下有黑边
  10. Front_end - - BOM和DOM
  11. jquery 获取 radio值 与 jQuery filter() 方法
  12. vmware vSAN 入门
  13. pygame之key模块
  14. 火狐8下,QQ邮箱大附件下载无法识…
  15. Android获取视频文件时长
  16. 应用文件夹加入环境变量
  17. 如何用GBD确认函数属于哪个库
  18. HTML文字左侧留白,DIV CSS padding内补白(内边距)left right top bottom
  19. 【转】右键菜单大揭密
  20. 如何用MD5加密数据库的敏感数据?

热门文章

  1. cmd sc命令进行服务操作
  2. Vue Devtools 安装
  3. linux配置apache2
  4. Nginx使用教程(七):使用Nginx缓存之proxy cache
  5. 深入理解php 匿名函数和 Closure
  6. Client端异步Callback的应用与介绍
  7. ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能
  8. JS-函数(调用返回值)-形参实参-作用域
  9. 入门机器学习(一)--单变量线性回归
  10. ros构建机器人运动学模型_机器人开源控制软件 OROCOS