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