# xiaoa-redis **Repository Path**: niyite/xiaoa-redis ## Basic Information - **Project Name**: xiaoa-redis - **Description**: 学习springdata-redis - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-01-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xiaoa-redis #### 介绍 学习springdata-redis ### 5.2.3.RedisTemplate基本操作 Spring Data Redis 提供了一个工具类:RedisTemplate。里面封装了对于Redis的五种数据结构的各种操作,包括: - redisTemplate.opsForValue() :操作字符串 - redisTemplate.opsForHash() :操作hash - redisTemplate.opsForList():操作list - redisTemplate.opsForSet():操作set - redisTemplate.opsForZSet():操作zset 其它一些通用命令,如expire,可以通过redisTemplate.xx()来直接调用 5种结构: - String:等同于java中的,`Map` - list:等同于java中的`Map>` - set:等同于java中的`Map>` - sort_set:可排序的set - hash:等同于java中的:`Map> ### 5.2.4.StringRedisTemplate RedisTemplate在创建时,可以指定其泛型类型: - K:代表key 的数据类型 - V: 代表value的数据类型 注意:这里的类型不是Redis中存储的数据类型,而是Java中的数据类型,RedisTemplate会自动将Java类型转为Redis支持的数据类型:字符串、字节、二进制等等。 ![1527250218215](assets/1527250218215.png) 不过RedisTemplate默认会采用JDK自带的序列化(Serialize)来对对象进行转换。生成的数据十分庞大,因此一般我们都会指定key和value为String类型,这样就由我们自己把对象序列化为json字符串来存储即可。 因为大部分情况下,我们都会使用key和value都为String的RedisTemplate,因此Spring就默认提供了这样一个实现: ![1527256139407](assets/1527256139407.png)