🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**1. 模板类操作Redis数据库** 操作 Redis 数据库的模板共有两个,分别是 StringRedisTemplate、RedisTemplate。它们的区别是 StringRedisTemplate 的 k/v 只能是 String 类型,而 RedisTemplate 的 k/v 必须是可序列化的 Object 类型。 ```java @RunWith(SpringRunner.class) @SpringBootTest public class Redis01ApplicationTests { @Autowired StringRedisTemplate stringRedisTemplate; @Autowired RedisTemplate redisTemplate; /** * Redis的五大数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、ZSet(有序集合) * stringRedisTemplate.opsForValue()[String(字符串)] * stringRedisTemplate.opsForList()[List(列表)] * stringRedisTemplate.opsForSet()[Set(集合)] * stringRedisTemplate.opsForHash()[Hash(散列)] * stringRedisTemplate.opsForZSet()[ZSet(有序集合)] */ @Test public void test01() { stringRedisTemplate.opsForValue().set("msg-001", "hello"); String msg = stringRedisTemplate.opsForValue().get("msg-001"); System.out.println(msg); //hello } @Test public void test02() { Student student1 = new Student(100, "张三", 25); //使用RedisTemplate,则k/v都必须是可序列化的,可以实现接口Serializable让对象可以被序列化 redisTemplate.opsForValue().set("stu-01", student1); Student student2 = (Student) redisTemplate.opsForValue().get("stu-01"); System.out.println(student2); //Student(id=100, name=张三, age=25) } } ``` **2. 测试结果** 运行上面的两个测试方法,数据分别被缓存到 Redis 数据库中了。 ![](https://img.kancloud.cn/ef/56/ef56be59df95bd66f9b3a48aea3066f0_1687x283.png) ![](https://img.kancloud.cn/14/df/14dfe8e5f2e79e1a6860ee7fb80c83a5_2073x276.png)