ssm框架搭建完成后,算是完成第一步,可以根据自己的需求来发开自己的程序,接下里要做的是学一下程序开发的一些中间插件比如说redis、mq等一些工具,现在就来一边学一边做
环境准备:
ubuntu 14
redis4.0.tar.gz
将redis 压缩包上传到ubunt服务器上/alidata/filepackage (主要存放软件安装包的)
1、解压redis4.0压缩包 redis-4.0.1.tar.gz
tar xzf redis-4.0.1.tar.gz
2、重命名,并移动到alidata文件下(/alidata/ 软件安装地址)
mv redis-4.0.1 redis4.0
mv redis4.0 /alidata/
/alidata/redis4.0/
3、软件编译和安装
进入redis解压的文件夹
cd /alidata/redis4.0/
make
make install
测试一下是否安装成功,执行下面两条命令
/alidata/redis4.0/src/redis-server
/alidata/redis4.0/src/redis-cli
如果显示
127.0.0.1:6379>
表示安装成功
4、修改配置文件
在/alidata/redisn4.0/ 下新建etc文件夹 将/alidata/redisn4.0/ 下的redis.config 复制到etc下(可以复制多个配置文件,更够端口号可以开启多个redis 服务)
配置远程连接信息,修改etc下复制的redis.config文件
修改修改内容(版本不一样,对应的行书可能会有出入)
bing 127.0.0.1 --> bing 0.0.0.0 (69行)
protected-mode yes --> protected-mode no (88行,4.0版本的需要修改)
requirepass admin123 --> 前面的# 去掉 (500行),并修改默认的连接密码
5、开启服务
先关闭开启的服务
/alidata/redis4.0/src/redis-cli -p6379 shutdown
执行下面命令开启修改配置文件的redis服务
/alidata/redis4.0/src/redis-servers /alidata/redis.4.0/etc/redis.config
测试连接
/alidata/redis4.0/src/redis-cli -h 115.159.31.89 -p 6379 -a admin123
显示:
115.159.31.89:6379>
表示成功
6、java直接连接redis服务
在java项目下面新建一个java文件
引入jedis2.7.3jar
这里介绍最简单的demo
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("115.159.31.89");
jedis.auth("admin123");
System.out.println("连接成功");
//存储数据到列表中
jedis.lpush("name", "zhangsan");
jedis.lpush("name", "lisi");
jedis.lpush("name", "wangwu");
// 获取存储的数据并输出
List<String> list = jedis.lrange("name", 0 ,2);
for(int i=0; i<list.size(); i++) {
System.out.println("列表项为: "+list.get(i));
}
}
7、spring整合redis服务
再原来项目的基础上添加maven的jar包
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.3</version>
</dependency>
添加spring配置
在spring-config.xml添加
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig" >
<property name="minIdle" value="10" />
<property name="testOnBorrow" value="false" />
</bean>
<!-- jedis shard信息配置 -->
<bean id="jedis.shardInfo" class="redis.clients.jedis.JedisShardInfo">
<constructor-arg index="0" value="115.159.31.89" />
<constructor-arg index="1" value="6379" />
<property name="password" value="admin"></property>
</bean>
<!-- jedis shard pool配置 -->
<bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool">
<constructor-arg index="0" ref="jedisPoolConfig" />
<constructor-arg index="1">
<list>
<ref bean="jedis.shardInfo" />
</list>
</constructor-arg>
</bean>
<bean id="redisUtil" class="com.soul.ssm.utils.RedisUtil">
<property name="pool" ref="shardedJedisPool" />
</bean>
在util包下创建工具类HttpUtils(这里只展示其中一个添加数据的方法,其他的会在后期源码中展示出来)
public class RedisUtil {
private static Logger logger = Logger.getLogger(RedisUtil.class);
private static ShardedJedisPool pool;
public static ShardedJedisPool getPool() {
return pool;
}
public static void setPool(ShardedJedisPool pool) {
RedisUtil.pool = pool;
}
public final static String KEY_PREFIX = "SOUL_SSM";
/**
* 设置数据
*
* @param conn
*/
public static boolean setData(String key, String value) {
ShardedJedis jedis = null;
key =KEY_PREFIX+key;
try {
jedis = pool.getResource();
jedis.set( key, value);
logger.info("redis添加数据key="+key+",value="+value+"成功");
return true;
} catch (Exception e) {
logger.error("redis添加数据key="+key+",value="+value+"失败");
e.printStackTrace();
return false;
}finally{
if(jedis!=null)
jedis.close();
}
}
}
工具类可以在项目的各个地方引用
也可以工具redis的特定自己编写相关的工具类代码