SpringMVC統合RedisTemplate
25745 ワード
Markdownエディタのブログへようこそ
redis.xml
プログラム中
Redisクラスを使用してRedisTemplateを注入する必要がある
1番目のstringはkeyタイプを表し、2番目のstringはvalueタイプを表し、redisはkey、value形式であるため、2番目のstringはobjectに変更し、需要に応じて注入することができる.
5種類のデータ構造操作
アクション文字列
操作リスト
操作Hash
操作セット
操作Zet
redis.xml
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<constructor-arg>
<bean class="org.springframework.data.redis.connection.RedisStandaloneConfiguration"
c:host-name="IP" c:port="6379"/>
constructor-arg>
bean>
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="minIdle" value="5"/>
<property name="maxIdle" value="100"/>
<property name="maxTotal" value="300"/>
<property name="maxWaitMillis" value="3000"/>
<property name="testOnBorrow" value="true"/>
bean>
<bean id="stringRedisSerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"/>
<property name="keySerializer" ref="stringRedisSerializer"/>
<property name="valueSerializer" ref="stringRedisSerializer"/>
<property name="hashKeySerializer" ref="stringRedisSerializer"/>
<property name="hashValueSerializer" ref="stringRedisSerializer"/>
bean>
プログラム中
Redisクラスを使用してRedisTemplateを注入する必要がある
@Autowired
private RedisTemplate<String, String> redisCache;
1番目のstringはkeyタイプを表し、2番目のstringはvalueタイプを表し、redisはkey、value形式であるため、2番目のstringはobjectに変更し、需要に応じて注入することができる.
5種類のデータ構造操作
redisTemplate.opsForValue();//
redisTemplate.opsForHash();// hash
redisTemplate.opsForList();// list
redisTemplate.opsForSet();// set
redisTemplate.opsForZSet();// set
アクション文字列
:redisTemplate.opsForValue().set("name","tom");
:redisTemplate.opsForValue().get("name") tom
redisTemplate.opsForValue().set("name","tom",10, TimeUnit.SECONDS);
:redisTemplate.opsForValue().get("name") 10 , , null
操作リスト
:redisTemplate.opsForList().leftPush("list","java");
redisTemplate.opsForList().leftPush("list","python");
redisTemplate.opsForList().leftPush("list","c++");
:
1
2
3
操作Hash
:redisTemplate.opsForHash().put("redisHash","name","tom");
redisTemplate.opsForHash().put("redisHash","age",26);
redisTemplate.opsForHash().put("redisHash","class","6");
System.out.println(redisTemplate.opsForHash().entries("redisHash"));
:{age=26, class="6", name=tom}
操作セット
:System.out.println(template.opsForSet().members("setTest"));
System.out.println(template.opsForSet().members("setTest2"));
System.out.println(template.opsForSet().intersect("setTest","setTest2"));
:[aaa, ccc]
[aaa]
[aaa]
操作Zet
:System.out.println(template.opsForZSet().range("zset1",0,-1));
System.out.println(template.opsForZSet().remove("zset1","zset-6"));
System.out.println(template.opsForZSet().range("zset1",0,-1));
:[zset-1, zset-2, zset-3, zset-4, zset-5, zset-6]
[zset-1, zset-2, zset-3, zset-4, zset-5]