发表于: 2018-01-29 14:15:34

1 752


今天完成的事情:

1.完成了redis和spring的整合。

 我的妈呀,终于是完成了,是真的难受。先说说在整合过程中遇到的问题吧,卡了一天的问题:

 启动tomcat的时候无法启动,配置文件什么的都没有任何报错,启动报错无法加载Redis的某一个类,于是我查看配置文件,发现是可以访问的到的,然后查看了一下maven的依赖树,发现我导入的spring-data-redis的jar包整个红了,也就是说整个冲突了。然后就是一番各种百度,但是然并卵,不能解决我的问题,于是请教各位师兄,最后志荣师兄给了点建议,让我按照maven仓库的推荐依赖来进行更换jar包,于是我按照这个说法,又忙活了半天之后,终于将问题解决了。。。是真的崩溃。在这里记录一下吧,也算是redis的大坑。

 在使用redis的时候一定要按照maven仓库推荐的jar版本来,在这里演示一下:

首先在maven仓库搜索

Spring Data Redis

如图:

 然后点击你想使用的版本,我这用的是1.6.1,点击1.6.1,如图:

然后是重点:将页面下拉,会出现推荐配置:

可以看到上面的推荐配置吧?

 我最后是按照最左边的配置统一搞的:

<!-- spring版本号 -->
<spring.version>4.1.7.RELEASE</spring.version>

然后还有一个slf-4j的jar包也要改:

<dependency>
 <groupId>org.slf4j</groupId>
 <artifactId>slf4j-api</artifactId>
 <version>1.7.12</version>
</dependency>

然后都改完之后的依赖树:

原来这老小子都是红的,改完了之后好了。然后给模型层加上序列化接口,加上redis缓存:

public class Pros implements Serializable {
private  int id;
   private String picture;
   private String title;
   private String detail;

上面是给模型层加接口,下面是家缓存:

@Service
public class ProsServiceImpl implements ProsService {
@Autowired
   public PageDao pageDao;
   @Autowired
   public RedisCacheConfig redisUtil;

   public List<Pros> getAllPros(){
List<Pros> pross;
       if (redisUtil.get("pross") != null){
pross = (List<Pros>)redisUtil.get("pross");
           System.out.println("从缓存中取到的哦");
           return pross;
       }else{
pross = pageDao.getAllPros();
           redisUtil.set("pross",pross);
           System.out.println("从数据库取到的哦");
           return pross;
       }
}

  然后运行,结果图:

成功!!!!!!

所以,使用redis的时候一定要注意这个依赖的版本限制!!!!!!!

好了,整合完毕,接下来就是压测了。

2.首先在服务器安装redis,用的wget命令:

第二部分:服务器端启动,默认端口号6379

然后将本地项目打包上传,开始访问:


居然没毛病,惊悚。一开始没安装redis的时候访问是出错的,无法获得redis连接,现在居然这么轻松就弄好了?????

3.那就开始压测吧:

老规矩,100线程1s启动,循环2次,开始压测:

  这样看不出什么了,我粘上没有缓存的数据:

可以看出来缓存还是有效的,然后对比一下Memcached和redis:

下面是Memcached的压测图:

可以看到没有什么太大的出入,我指的是90%的线附近。因为数据又波动,所以可以认为是相差不大。

4.接下来看到师兄搞了一个可视化工具,于是尝试着搞了一波:

然后我们为了实现远程连接redis需要做一些准备(为什么要远程连接?第一,我要在本地用RDM看redis状态;第二,一些需要调用远程服务器缓存的操作就需要远程连接了)


我们首先需要将redis.conf文件中的

然后还有什么更改端口啥的


接下来是设置密码


然后虽然这些操作做完,但是还是无法远程连接redis,因为redis有个保护模式,需要关闭


其实到这里的更改就已经可以,但是如果前台运行redis的话,我们服务器就没法干别的了,所以我们设置redis后台运行。


然后,我们使用命令

$redis-server redis.conf(如果redis-server你没有移动的话,注意redis.conf文件的位置)

就可以按照配置文件的设置启动redis了。

可以看到允许0.0.0.0这个ip访问

网络中0.0.0.0的IP地址表示整个网络,即网络中的所有主机

然后这块需要注意的是要开放阿里云的安全组啊!!!!!!!!!!!!!!!!

这就是登录成功的界面了,很舒服。

但是我在后续过程中发现,只有通过命令redis-server redis.conf来启动redis时这个工具才能连接redis。

5.接下来就是看看怎么完成任务的要求了。

  分析了半天也没分析出个所以然来。。

有嗲你不太明白任务的要求。。

什么是tps稳定时的响应时长,那玩意一直在变化,怎么能获得呢?还有c要求,我今天模拟的时候线程设置很低才能达到要求,这就是任务的要求吗?迷昏,整不明白啊。


今天遇到的问题

   就是redis的整合问题了。。狗东西是真的难料理,不过好在解决了。

 今天的收获

  以上,还顺带收获了写其他的东西,可视化工具和redis的jar包搭配。

明天计划的事情

 完成任务六吧。。

 


返回列表 返回列表
评论

    分享到