问题背景

日常开发过程中,对于缓存,我们并不陌生。常用的缓存有个Redis、memcache、memcached等。那么操作缓存的工具又有很多,我们该怎么选择呢?

今天我们聊一下Redis的操作客户端!

操作客户端简介

  1. Jedis Jedis是Redis官方推出的一款面向java的客户端,提供了好多接口供java调用。虽然官方提供了客户端工具,但是很多爱好者,也提供了诸如:SRP、Jredis等工具类。但是效果没有jedis好,所以我们还是推荐jedis
  2. Spring Data Redis Spring Data Redis是spring提供的一款客户端工具,它本身是Spring家族的一员。所以,他对我们java程序员是很友好的,并且对redis底层的工具(Jedis)做了友好的高度封装。通过RedisTemplate对外提供对redis的各种操作。

spring data redis 对jedis的封装

提供了对key的bound快捷操作api,通过bound封装了指定的key值,后续的操作就不会再显示指定key值,即BoundKeyOperations

  • BoundValueOperations
  • BoundSetOperations
  • BoundListOperations
  • BoundSetOperations
  • BoundHashOperations

客户端的使用

通过上面的两种工具客户端的简单介绍,我们也很好的理解他们的功能!那么,怎么选择使用呢?

作为程序员对spring都不陌生,为了更好的兼容性,我们这里只重点讲一下Spring data redis的RedisTemplate

  1. pom.xml中引入依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  1. 添加配置信息
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1ms
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=5000ms

好了,关于Reids客户端的介绍及配置就到这里,下一期我们讲解具体使用方法。欢迎大家留言交流。