spring boot的redis操作类RedisTemplate
背景:
使用spring session,把session存储到redis里,对session的管理和扩展更方便,还有一个好处是,不不需要自己维护session的状态,过期会自动删除。
在spring boot里使用redis,需要先引入redis的依赖,如下:
<!-- redis --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> </dependency> <!-- redis 客户端 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
一、判断redis某个key的类型
DataType testType = redisTemplate.type(testRedis);
如果读取到redis的key的类型是Integer,想要转成String,怎么办呢?
不建议使用 String.valueOf,很可能会报类型转换错误,正确的方法是使用Integer的toString方法,举个例子:
Integer testValue = (Integer) redisTemplate.opsForValue().get(testRedis);
String testString = testValue.toString();
二、写hash
HashMap<String, Object> map = new HashMap<>(); map.put(name, 张三); map.put(age, 23); map.put(sex, 男); redisTemplate.opsForHash().putAll(user, map); //使用entries获取整个user对象 log.info(user = {}, redisTemplate.opsForHash().entries(user));
三、读hash
Map<Object, Object> entries = redisTemplate.opsForHash().entries(test);
for(Map.Entry<Object, Object> entry : entries.entrySet()){ log.info(entry.getKey()+======+entry.getValue()); }
参考资料: