1:三者其实都是用来操作redis的

2:springDataRedis是对Jedis和lettuce的一系列封装,简化了很多方法

3:公司里面之所以不怎么用Jedis也是因为其指令比较繁琐难以记忆,不如就用简化了的springDataRedis

4:使用springDataRedis 时,首先要导入springDataRedis的依赖,然后导入Jedis或者lettuce,如果是Jedis,需要再导入slf4j-simple

5:springDataRedis操作Redis提供了2个模板,只需要将任何一个扔到容器中就可以使用

RedisTemplate:可以操作任何类型

StringRedisTemplate:专门操作字符串

具体使用:先扔到容器中:

@Beanpublic RedisTemplate redisTemplate(){RedisTemplate redisTemplate = new RedisTemplate();return redisTemplate;}

然后发现执行不了,这时需要去配置一下redis的连接工厂

因为redisConnectionFactory是个接口,我导入的又是jedis,所以用jedis的连接工厂

@Beanpublic RedisConnectionFactory redisConnectionFactory(){JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();return jedisConnectionFactory;}

所以这个时候需要在模板中加入连接工厂:

@Beanpublic RedisTemplate redisTemplate(){RedisTemplate redisTemplate = new RedisTemplate();redisTemplate.setConnectionFactory(redisConnectionFactory());return redisTemplate;}

6:操作后发现几个问题:使用redisTemplate可以存储任何类型,存值取值没有任何影响,但是通过可视化插件查看,默认是看不懂的(因为springDataRedis使用的是默认的序列化器 默认JDK的序列化器)

所以其实可以把redisTemplate换成stringRedisTemplate

@Beanpublic StringRedisTemplate stringRedisTemplate(){StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();stringRedisTemplate.setConnectionFactory(redisConnectionFactory());return stringRedisTemplate;}

StringRedisTemplate这种方式,默认的value一般是字符串,此时存储不会乱码

7:最后你会发现你需要用到数据库连接池,所以要配置一下:

@Beanpublic JedisPoolConfig jedisPoolConfig(){JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();jedisPoolConfig.setMaxTotal(50);jedisPoolConfig.setMaxIdle(50);return jedisPoolConfig;}

这样一来,连接工厂的配置也需要更改一下:

@Bean
public RedisConnectionFactory redisConnectionFactory(){JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(jedisPoolConfig());return jedisConnectionFactory;
}

关于Jedis和lettuce以及springDataRedis的一些区别相关推荐

  1. Redis - Spring Data Redis 操作 Jedis 、Lettuce 、 Redisson

    文章目录 官网 Jedis VS Lettuce Jedis Code POM依赖 配置文件 配置类 单元测试 Lettuce Code Redisson Code POM依赖 配置文件 配置类 单元 ...

  2. SpringBoot配置redis集群(Jedis and lettuce)

    SpringBoot2.x版本配置redis集群(Jedis and lettuce) 在SpringBoot1.x版本中,springboot默认使用集成jedis,在SpringBoot2.x版本 ...

  3. Redis客户端 Jedis 与 Lettuce

    Lettuce 和 Jedis 的定位都是 Redis 的 client,所以它们可以直接连接redis server. Jedis 在实现上是直接连接的 redis server,如果在多线程环境下 ...

  4. redis java客户端配置,Java的Redis客户端选择-jedis与Lettuce

    Lettuce 和 Jedis 的定位都是Redis的client,所以他们当然可以直接连接redis server. Jedis在实现上是直接连接的redis server,如果在多线程环境下是非线 ...

  5. springboot项目中redis客户端(Jedis、Lettuce、Redisson)

    一.redis客户端的对比 1).Jedis Jedis作为Redis官方推荐的一款客户端,也算是简单好用,基础功能齐全,在中小型项目中还是很好用的,但是Jedis是直连模式,在多个线程间共享一个Je ...

  6. Jedis和Lettuce的区别

    Jedis和Lettuce的区别 jedis和Lettuce都是Redis的客户端,它们都可以连接Redis服务器,但是在SpringBoot2.0之后默认都是使用的Lettuce这个客户端连接Red ...

  7. jedis使用_Redis的三个框架:Jedis,Redisson,Lettuce

    Jedis api 在线网址:http://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html redisson 官网地址: ...

  8. Redis的三个框架:Jedis,Redisson,Lettuce

    Jedis api 在线网址:http://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html redisson 官网地址: ...

  9. Jedis和Lettuce

    Lettuce 和 Jedis 都是Redis的client,所以他们都可以连接 Redis Server. Jedis在实现上是直接连接的Redis Server,如果在多线程环境下是非线程安全的. ...

  10. Redis中jedis与lettuce区别

    1.Jedis 优点: 提供了比较全面的 Redis 操作特性的 API API 基本与 Redis 的指令一一对应,使用简单易理解 缺点: 同步阻塞 IO 不支持异步 是基于tcp的阻塞式连接方式 ...

最新文章

  1. R语言ggplot2可视化绘制线图(line plot)、使用gghighlight包突出高亮线图的满足条件的线图、设置高亮线图不显示默认自动显示的文本标签(use_direct_label)
  2. WindowManager如何被Android深度解析(3)
  3. 【Linux网络编程】网络协议入门
  4. [Java基础]List集合子类特点
  5. 语音对讲软件_三款语音转文字工具,语音输入,高效转换,准确率高
  6. piv图像处理文献综述_图像处理文献综述
  7. 叠螺机_叠螺机如何实现全自动喷淋维护
  8. Nero Video 2019中文破解版
  9. 2018年的安卓开发环境搭建
  10. 怎么练字才会有效果,多久才能有体现
  11. VB.net 2010下关联与程序图标设置
  12. R语言——双因素方差分析
  13. 解决Rufus不会自动下载ldlinux.sys和ldlinux.bss文件问题
  14. 建造者模式(Builder和Director)
  15. 山东大学人机交互技术复习纲要
  16. Linux内核设计与实现 第17章 设备与模块
  17. hdoj-2036题解-向量积法求任意多边形面积
  18. 光纤收发器tx和rx,光纤收发器单模和多模的区别!
  19. 【计算机网络相关的面试题】TCPUDPHTTPHTTPS,面试常客
  20. Indian Food Recipes Dataset(印度食品配方数据集)

热门文章

  1. 一道数学题引发的世界动荡
  2. 在Linux上显示某个进程的线程的几种方式
  3. XML学习总结(一)——XML介绍
  4. 编写python程序、利用循环输出1+11+111+1111_《JavaScript语法基础》练习第四章第五题练习...
  5. pythonqt项目_Qt项目之高亮关键字Python编辑器实现
  6. 关于python的论文the philosophy_Philosophy in Python
  7. 拓端tecdat|R语言自然语言处理(NLP):情感分析新闻文本数据
  8. 拓端tecdat|R语言时间序列数据指数平滑法分析交互式动态可视化
  9. (7)机器学习之make_bolbs
  10. Android入门笔记12