首先我们应当明白redis数据库的信息都是从mysql数据库中获取的,而且是实时性差、用户关联性差的数据。
答题思路是先到reids数据库中查找,看看有没有数据,没有数据就到mysql数据库中查找,并把查到的数据放到redis中。
我们使用的是redisTemplate模板对象操作redis,这个对象是由Springboot帮我们创建的,泛型里面只能写 <String, String>、<Object, Object>或者什么都不写
redisTmeplate是如何获取redis数据库中的数据呢?
Integer userCount = (Integer) redisTemplate.opsForValue().get("userCount"); //从reids中获取数据
redisTemplate.opsForValue().set(Constant.HISTORY_AVERAGE_RATE, historyAverageRate, 15, TimeUnit.SECONDS);//往reids中添加数据
这五个操作正好对应了redis数据库中的五种数据类型。
redisTemplate.opsForValue()//这个获取的是操作String的操作
redisTemplate.opsForHash();//这个获取的是操作Hash的操作
redisTemplate.opsForList();//这个获取的是操作List的操作
redisTemplate.opsForSet();//这个获取的是操作Set的操作
redisTemplate.opsForZset();//这个获取的是操作Zset的操作