关于SSM整合redis的流程

1. 关于linux上搭建redis服务

1. 添加gcc环境:因为Reids是C语言开发的,我们需要做的是 拿到redis的源码,在linux上重新进行编译.

yum install gcc-c++

2. 看linux上是否有gcc:命令gcc,如果显示 no input files就表示有gcc.

3. redis的源码包上传到linux系统。

4. 解压缩redis。

tar -zxvf redis源码包

5.编译。进入redis源码目录。直接运行: make 

6. 安装。make install PREFIX=/usr/local/redis.其中:PREFIX参数指定redis的安装目录。一般软件安装到/usr目录下.

7. Redis的启动:推荐后台启动

把redis解压目录下/redis-3.0.0/的redis.conf复制到redis的新编译目录:/usr/local/redis/bin目录下
修改redis.conf的配置文件

按照配置文件直接启动Redis即可
cd /usr/local/redis/bin
./redis-server redis.conf

8. Redis的关闭

1. 查看redis的进程: ps aux | grep redis
2. 直接关闭进程即可:kill 端口号
3. 也可以使用redis客户端进行关闭:./redis-cli shutdown 即可正常关闭.

2. 关于SSM整合redis

1. 在pom文件中导入jar

		<!-- redis -->
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.7.2</version>
		</dependency>

2. 在applicationContext.xml中添加redis的配置(以单机版本的redis为例,集群版本等以后更新)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">


<!-- 配置单机版的连接 -->
	<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
		<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
		<constructor-arg name="port" value="6379"></constructor-arg>
	</bean>
	
	<!-- 让spring加载实现类,当需要使用redis的时候直接注入 这个类 调用实现过的方法即可完成 -->
	<bean id="jedisClientPool" class="com.hnwwkj.redis.JedisClientPool"/>
	
	
	<!-- 集群版本的redis以后再配置 -->
</beans>

3. 我们使用的是redis池子,当我们使用redis连接的时候直接从池子中拿.

第一步:我们创建模板接口

public interface JedisClient {
	String set(String key, String value);
	String get(String key);
	Boolean exists(String key);
	Long expire(String key, int seconds);
	Long ttl(String key);
	Long incr(String key);
	Long hset(String key, String field, String value);
	String hget(String key, String field);
	Long hdel(String key, String... field);
}

第二步:为模板接口创建实现类,当我们需要使用redis的时候直接调用实现类即可

public class JedisClientPool implements JedisClient {
	
	@Autowired
	private JedisPool jedisPool;
	@Override
	public String set(String key, String value) {
		Jedis jedis = jedisPool.getResource(); //获取jedis客户端
		String result = jedis.set(key, value); //设置key=value
		jedis.close(); 	//关闭redis连接
		return result; 	//返回结果
	}
	@Override
	public String get(String key) {
		Jedis jedis = jedisPool.getResource(); //获取jedis客户端
		String result = jedis.get(key); //获取key对应的value
		jedis.close();
		return result;
	}
}

4. 测试

@Test
	public void testJedisClient() throws Exception {
		//初始化Spring容器,加载配置文件
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
		//从容器中获得JedisClient对象
		JedisClient jedisClient = applicationContext.getBean(JedisClient.class);
		jedisClient.set("first", "100");
		String result = jedisClient.get("first");
		System.out.println(result);				
	}
我们在SSM项目中,如果使用redis的话,可以直接使用@Autowired将redis接口注入,直接使用模板来进行处理即可


猜你喜欢

转载自blog.csdn.net/cc185/article/details/79348907
今日推荐