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接口注入,直接使用模板来进行处理即可