发表于: 2017-09-12 20:36:06
2 847
禅道:http://task.ptteng.com/zentao/project-task-302.html
今天完成的事情:
1.在windows安装redis。
简单记一下安装步骤,就是在github上下载zip然后解压了之后,先开启redis的服务,然后看教程直接把服务弄在windows里了,不用每次都用命令开启。网上帖子比较老,软件下下来还有病毒。安装就先不写了。



然后是用简单的set get 命令存了一下redis。
.png)
2.java web项目引入这个redis要先在pom里面引用
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.6</version>
</dependency>
低版本会报错,但是高版本我找到的类会报错
.png)

这个问题是高版本的这个改名了
maxActive ==> maxTotal maxWait ==> maxWaitMillis
这两个名字修改一下就ok
然后找工具类
运行之后会报错
.png)

这是因为我今天设置了密码,然后又忘了在web项目中设置密码,然后服务器ip也没有改
,然后问题就来了,网上的好多搜到的windows教程是没有让你输入密码的
解决办法是在创建了一个新的实例下面,写一个
jedis.auth();
跟在客户端登录一样,需要用auth登录。
然后我也下载了哪个可视化的工具
,运行了之后会显示已经存到显存了
这个可视化就是更直观了,其实下面还是跟命令行是一样的。
在设置密码的过程中搜到我上面用的只是简单的例子,竟然还有spring整合,,上午搜的时候只是粗略的看了一下,没搜到。
也就是 Spring-data-redis
这个spring整合的有好多好处:
比如连接池是自动化管理了,提供了一个高度封装的类
比如吧客户端的同一类型的操作封装成为了iperation接口:
ValueOperations:简单K-V操作
SetOperations:set类型数据操作
ZSetOperations:zset类型数据操作
HashOperations:针对map类型的数据操作
ListOperations:针对list类型的数据操作
spring用的话是这样的:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.5.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.10</version>
</dependency>
多加入两个类
然后在spring配置文件里面注入
这个打算明天好好看一下
简单总结一下,redis是一个比memcached更好用的一个缓存工具,好在哪里呢:redis好用在缓存管理,memcached只能用纯文本的String通信,而redis可以用使用6中数据类型。因为redsi 的那个什么hash是我还不懂就先不写。正常使用是一样的。思路都是取的时候先查一下,看里面有没有这个缓存,有的话呢就直接用,没有的话呢就可以先存一个在用。但是memcached我是怎么搞的,是每个方法都写一遍。很麻烦所以就搞了一个页面。今天看到帖子说可以用AOP。才发现真的蠢,想都没有到那。思路是这样的,首先吧service里面的要用redis的方法都用一个固定的名字写个开头,比如我写成Ris开头。然后用aop切,每个方法运行的时候都测一下,看是不是有,有就用。
execution(* com.task.service.Impl.UserServiceImpl1.Ris(..))"
明天计划,完成spring 整合redis 再加上aop。
评论