在SpringMVC中使用Redis的简单实例
2017-10-11 15:06
316 查看
本实例使用maven构建,需要在pom中引入两个jar包
spring-context.xml代码需要如下配置
下面是RedisService,里面包含了对redis的方法,还有更多的方法没有去使用,这里当一个入门的小例子吧
下面是测试代码TestRedis.java
参考的博客:http://blog.csdn.net/sunny243788557/article/details/34431357
<!-- 使用redis --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.4.1.RELEASE</version> </dependency> <!-- 使用jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.6.2</version> </dependency>
spring-context.xml代码需要如下配置
<!-- redis工厂 --> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:host-name="192.168.122.80" p:port="6379" p:password=""></bean> <!-- redis服务封装 --> <bean id="redisService" class="com.SSM.redis.RedisService"> </bean>这里配置了一个跟spring 集成的redis客户端,ip port password自己定
下面是RedisService,里面包含了对redis的方法,还有更多的方法没有去使用,这里当一个入门的小例子吧
package com.SSM.redis; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import redis.clients.jedis.Jedis; /** * 封装redis 缓存服务器服务接口 */ public class RedisService { /** * 通过key删除(字节) * @param key */ public void del(byte [] key){ this.getJedis().del(key); } /** * 通过key删除 * @param key */ public void del(String key){ this.getJedis().del(key); } /** * 添加key value 并且设置存活时间(byte) * @param key * @param value * @param liveTime */ public void set(byte [] key,byte [] value,int liveTime){ this.set(key, value); this.getJedis().expire(key, liveTime); } /** * 添加key value 并且设置存活时间 * @param key * @param value * @param liveTime */ public void set(String key,String value,int liveTime){ this.set(key, value); this.getJedis().expire(key, liveTime); } /** * 添加key value * @param key * @param value */ public void set(String key,String value){ this.getJedis().set(key, value); } /**添加key value (字节)(序列化) * @param key * @param value */ public void set(byte [] key,byte [] value){ this.getJedis().set(key, value); } /** * 获取redis value (String) * @param key * @return */ public String get(String key){ String value = this.getJedis().get(key); return value; } /** * 获取redis value (byte [] )(反序列化) * @param key * @return */ public byte[] get(byte [] key){ return this.getJedis().get(key); } /** * 通过正则匹配keys * @param pattern * @return */ public Set<String> keys(String pattern){ return this.getJedis().keys(pattern); } /** * 检查key是否已经存在 * @param key * @return */ public boolean exists(String key){ return this.getJedis().exists(key); } /** * 清空redis 所有数据 * @return */ public String flushDB(){ return this.getJedis().flushDB(); } /** * 查看redis里有多少数据 */ public long dbSize(){ return this.getJedis().dbSize(); } /** * 检查是否连接成功 * @return */ public String ping(){ return this.getJedis().ping(); } /** * 获取一个jedis 客户端 * @return */ private Jedis getJedis(){ if(jedis == null){ return jedisConnectionFactory.getShardInfo().createResource(); } return jedis; } /** * 保存数据 * @return */ public String saveJedis(){ return this.getJedis().save(); } private RedisService (){ } //操作redis客户端 private static Jedis jedis; @Autowired @Qualifier("jedisConnectionFactory") private JedisConnectionFactory jedisConnectionFactory; }
下面是测试代码TestRedis.java
import java.util.Set; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * redis spring 简单例子 */ public class TestRedis { public static void main(String[] args) throws InterruptedException { ApplicationContext app = new ClassPathXmlApplicationContext("classpath:spring-context.xml"); //这里已经配置好,属于一个redis的服务接口 RedisService redisService = (RedisService) app.getBean("redisService"); String ping = redisService.ping();//测试是否连接成功,连接成功输出PONG System.out.println(ping); //首先,我们看下redis服务里是否有数据 long dbSizeStart = redisService.dbSize(); System.out.println(dbSizeStart); redisService.set("username", "oyhk");//设值(查看了源代码,默认存活时间30分钟) String username = redisService.get("username");//取值 System.out.println(username); redisService.set("username1", "oyhk1", 1);//设值,并且设置数据的存活时间(这里以秒为单位) String username1 = redisService.get("username1"); System.out.println(username1); Thread.sleep(2000);//我睡眠一会,再去取,这个时间超过了,他的存活时间 String liveUsername1 = redisService.get("username1"); System.out.println(liveUsername1);//输出null //是否存在 boolean exist = redisService.exists("username"); System.out.println(exist); //查看keys Set<String> keys = redisService.keys("*");//这里查看所有的keys System.out.println(keys);//只有username username1(已经清空了) //删除 redisService.set("username2", "oyhk2"); String username2 = redisService.get("username2"); System.out.println(username2); redisService.del("username2"); String username2_2 = redisService.get("username2"); System.out.println(username2_2);//如果为null,那么就是删除数据了 //dbsize long dbSizeEnd = redisService.dbSize(); System.out.println(dbSizeEnd); //清空reids所有数据 //redisService.flushDB(); } }
参考的博客:http://blog.csdn.net/sunny243788557/article/details/34431357
相关文章推荐
- (java)使用redis的第一个简单实例
- redis的简单使用实例
- redis集成到Springmvc中及使用实例
- 微信企业号简单的OAuth2验证接口实例(使用SpringMVC非注解方式)
- 使用html传递参数的一个简单实例
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- javascript使用xml 数据岛 简单实例
- java socket的简单使用实例
- 关于使用Spring和hibernate开发web程序的配置说明和简单实例的详细说明
- 数据库-使用DataReader的简单实例(两种办法)
- javascript使用xml 数据岛 简单实例
- 循环与判断/利用函数的简单实例/使用对象/列举对象属性
- 物理引擎Havok的一个简单实例(使用Ogre渲染)
- java JDBC:一个数据库的简单使用实例
- C#使用ADO.NET连接数据库简单代码实例
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- 反射使用的简单实例
- 滚动显示面板和滚动条的简单使用实例
- 学习新事物:使用jquery+xml实现ajax简单实例