spring如何整合redis使用
小编给大家分享一下spring如何整合redis使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1.简单介绍
redis 是基于C语言开发。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
redis 是一个 缓存数据库(片面的理解) 既可以做缓存,也可以将数据持久化到磁盘中!
2.pom.xml 引入相关jar (曾经因jar 版本问题出现报错,请注意)
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>2.2</version></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>1.7.5.RELEASE</version></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency>
3.spring-redis.xml 配置文件,配置关键beanredisTemplate
<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:util="http://www.springframework.org/schema/util"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-3.0.xsd"><!--<context:property-placeholderlocation="classpath:redis-config.properties"/>--><beanid="jedisPoolConfig"class="redis.clients.jedis.JedisPoolConfig"><propertyname="maxIdle"value="${redis.maxIdle}"/><propertyname="maxTotal"value="${redis.maxTotal}"/><propertyname="blockWhenExhausted"value="true"/><propertyname="maxWaitMillis"value="${redis.maxWaitMillis}"/><propertyname="testOnBorrow"value="${redis.testOnBorrow}"/></bean><beanid="jedisConnectionFactory"class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"><propertyname="hostName"value="${redis.hostname}"/><propertyname="port"value="${redis.port}"/><propertyname="poolConfig"ref="jedisPoolConfig"/><propertyname="usePool"value="true"/></bean><beanid="redisTemplate"class="org.springframework.data.redis.core.RedisTemplate"><propertyname="connectionFactory"ref="jedisConnectionFactory"/><propertyname="keySerializer"><beanclass="org.springframework.data.redis.serializer.StringRedisSerializer"/></property><propertyname="valueSerializer"><beanclass="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/></property><propertyname="hashKeySerializer"><beanclass="org.springframework.data.redis.serializer.StringRedisSerializer"/></property><propertyname="hashValueSerializer"><beanclass="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/></property></bean></beans>
上文中使用到的配置文件 redis-config.properteis
redis.maxIdle=1redis.maxTotal=5redis.maxWaitMillis=30000redis.testOnBorrow=trueredis.hostname=127.0.0.1redis.port=6379
4.redis 有4个关键的接口如下
private ValueOperations<K, V> valueOps;
private ListOperations<K, V> listOps;
private SetOperations<K, V> setOps;
private ZSetOperations<K, V> zSetOps;
分别对应redis的数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
具体使用如下,上代码:
//添加字符串ValueOperations<String,String>value=this.redisTemplate.opsForValue();value.set("hello","讨厌");System.out.println(value.get("hello"));//添加一个hash集合HashOperations<String,Object,Object>hash=redisTemplate.opsForHash();hash.put("沃尔玛","水果","苹果");hash.put("沃尔玛","饮料","红牛");System.out.println(hash.entries("沃尔玛"));//添加一个list集合ListOperations<String,Object>list=redisTemplate.opsForList();list.rightPush("课程","chinese");list.rightPush("课程","englise");System.out.println(list.range("lpList",0,1));//添加一个set集合SetOperations<String,Object>set=redisTemplate.opsForSet();set.add("lpSet","lp");set.add("lpSet","26");set.add("lpSet","178cm");//输出set集合System.out.println(set.members("lpSet"));//添加有序的set集合ZSetOperations<String,Object>zset=redisTemplate.opsForZSet();zset.add("lpZset","lp",0);zset.add("lpZset","26",2);zset.add("lpZset","178cm",1);//输出有序set集合System.out.println(zset.rangeByScore("lpZset",0,2));
以上是“spring如何整合redis使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。