Spring Data Redis(StringRedisTemplate的使用)
2017-07-15 10:33
941 查看
String-focused convenience classes
使用限制String 类型的便利类
由于在使用Redis的时候普遍存在的情况是,以java.lang.String字符串的形式存储keys和values。Redis模块为RedisConnection 和RedisTemplate提供了两个相应的扩展,分别是StringRedisConnection(它的实现是DefaultStringRedisConnection) 和StringRedisTemplate,让集中的 String 操作更方便、一站式解决。此外在底层序列化转换方面使用了StringRedisSerializer ,使得存储的 keys和values 更容易让人可读(这里假设使用了通用的编码在Redis和代码上)。
properties配置如下:
示例代码如下:
和其他的Spring的模版一样,RedisTemplate 和StringRedisTemplate允许开发者直接和Redis 进行交互,通过RedisCallback接口。这将给了开发者完全的控制权,在直接使用RedisConnection方面。注意,当使用StringRedisTemplate时,callback接收到的是一个StringR额滴神Connection实例。
使用限制String 类型的便利类
由于在使用Redis的时候普遍存在的情况是,以java.lang.String字符串的形式存储keys和values。Redis模块为RedisConnection 和RedisTemplate提供了两个相应的扩展,分别是StringRedisConnection(它的实现是DefaultStringRedisConnection) 和StringRedisTemplate,让集中的 String 操作更方便、一站式解决。此外在底层序列化转换方面使用了StringRedisSerializer ,使得存储的 keys和values 更容易让人可读(这里假设使用了通用的编码在Redis和代码上)。
properties配置如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:use-pool="true"/> <bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate" p:connection-factory-ref="jedisConnectionFactory"/> ... </beans>
示例代码如下:
public class Example { @Autowired private StringRedisTemplate redisTemplate; public void addLink(String userId, URL url) { redisTemplate.opsForList().leftPush(userId, url.toExternalForm()); } }
和其他的Spring的模版一样,RedisTemplate 和StringRedisTemplate允许开发者直接和Redis 进行交互,通过RedisCallback接口。这将给了开发者完全的控制权,在直接使用RedisConnection方面。注意,当使用StringRedisTemplate时,callback接收到的是一个StringR额滴神Connection实例。
public void useCallback() { redisTemplate.execute(new RedisCallback<Object>() { public Object doInRedis(RedisConnection connection) throws DataAccessException { Long size = connection.dbSize(); // Can cast to StringRedisConnection if using a StringRedisTemplate ((StringRedisConnection)connection).set("key", "value"); } }); }
相关文章推荐
- Spring data redis-StringRedisTemplate 用法
- Spring-data-redis:StringRedisTemplate 用法
- Spring data redis-StringRedisTemplate 用法
- Spring data redis-StringRedisTemplate 用法
- Spring data redis-StringRedisTemplate 用法
- spring-data-redis使用RedisTemplate模板存储时键值与预设不一致的解决方法
- Spring中使用RedisTemplate操作Redis(spring-data-redis)
- Spring中使用RedisTemplate操作Redis(spring-data-redis)
- Spring data redis-StringRedisTemplate 用法
- spring data RedisTemplate无效果
- spring boot RedisTemplate的简单使用
- spring redisTemplate 持久化到redis中数据更改为String类型
- Spring源码追踪1——doGetBean(为什么org.springframework.data.redis.core.RedisTemplate的实例可以注入为ListOperations)
- 使用spring redisTemplate.getValueSerializer()遇到的问题
- StringRedisTemplate的使用(巨详细)
- Spring源码追踪1——doGetBean(为什么org.springframework.data.redis.core.RedisTemplate的实例可以注入为ListOperations)
- StringRedisTemplate的使用(巨详细)
- Spring Boot整合集成StringRedisTemplate的简单记录
- Spring StringRedisTemplate 配置
- redis pub/sub Spring StringRedisTemplate