当前位置: 首页 > 工具软件 > Angel Redis > 使用案例 >

使用StringRedisTemplate操作Redis

柳韬
2023-12-01

一、RedisTemplate和StringRedisTemplate

1. 两者的区别

  1. RedisTemplate是Spring对于Redis的封装,而StringRedisTemplate继承RedisTemplate。
  2. 两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。
  3. 使用的序列化类不同
    RedisTemplate使用的是JdkSerializationRedisSerializer 存入数据会将数据先序列化成字节数组然后在存入Redis数据库。
    StringRedisTemplate使用的是StringRedisSerializer

2. 两者的使用

通过源码可知
StringRedisTemplate extends RedisTemplate<String, String>

当你的redis数据库里面本来存的是字符串数据或者你要存取的数据就是字符串类型数据的时候,那么你就使用StringRedisTemplate即可。

但是如果你的数据是复杂的对象类型,而取出的时候又不想做任何的数据转换,直接从Redis里面取出一个对象,那么使用RedisTemplate是更好的选择。

二、StringRedisTemplate的使用

1. 引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2. 配置redis

properties

# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=123456
# 连接超时时间(毫秒)
spring.redis.timeout=10000

yml

spring:
	# redis
  redis:
    # Redis数据库索引(默认为0)
    database: 0
    # Redis服务器地址
    host: localhost
    # Redis服务器连接端口
    port: 6379
    # Redis服务器连接密码(默认为空)
    password: 123456
    # 连接超时时间(毫秒)
    timeout: 1000

3. 使用@Autowired注解注入即可使用

	@Autowired
    private StringRedisTemplate stringRedisTemplate;

4. API

StringRedisTemplate中定义了5种数据结构操作

stringRedisTemplate.opsForValue();  //操作字符串
stringRedisTemplate.opsForHash();   //操作hash
stringRedisTemplate.opsForList();   //操作list
stringRedisTemplate.opsForSet();    //操作set
stringRedisTemplate.opsForZSet();   //操作有序set
 类似资料: