最近准备了解一下NoSQL相关的东西,所以就找了一些文章了解了一下,最后选择了Redis,理由呢,不外乎其使用简单,和Springboot集成良好,而且应用也很广泛,可以用作缓存服务器,可以用做非关系型数据库,也可以用作消息队列服务器。
下面先从服务端开始,这里使用的是阿里云,自己搭建的服务器,我在上面跑了一个Tomcat和一个springboot,关于云服务器的搭建可以参考我之前的文章。
1、Linux安装Redis
一如既往的懒汉式——在线安装
输入:wget http://download.redis.io/releases/redis-3.2.4.tar.gz(注意先cd到你想存放的目录再执行这条命令)
解压缩:tar xzf redis-3.2.4.tar.gz
解压后目录下会有一个redis-3.***的文件夹,进入该目录,然后输入命令
编译:make(如果编译过程报错,可能是服务器环境没有安装gcc,可以用下面这条命令在线安装:yum -y install make gcc gcc-c++ ncurses-devel)
编译完成后,进入src目录,输入命令:
安装:make install
至此,应该已经安装成功了,可以回到根目录输入:redis-server –v查看是否输出版本号。
2、启动Redis
将redis目录下的redis.conf文件拷贝到另外的目录(用作redis服务的目录):cp /***/redis-3.***/redis.conf /***/redis-serv/
然后conf文件中有几个地方需要修改的:
bind 127.0.0.1 这个是绑定ip,如果不注释掉就说明限制只能配置的ip才可以访问,由于我需要自己的电脑可以访问,所以将这个注释掉就可以了。
port 8081 端口号
daemonize yes 这个默认是no,改成yes后就可以一直运行在后台了。
pidfile /***/***.pid pid文件存放路径
loglevel debug
logfile /***/***.log log文件存放路径
这个文件相当多内容,需要改的几个地方就在靠前面的地方,所以很好找。
然后就可以启动redis了:redis-server redis.conf
可以看到log目录下有响应的log文件了。
ps -x可以看到有redis的进程,皆大欢喜。。。。(然而,我这时尝试springboot去访问,提示无法连接)
接下来还有一个步骤,外网访问需要给redis设置密码:
redis-cli -p 8081(这里因为我注释了绑定的ip,所以只输入-p就可以,如果有设置ip,需要输入-h 127.0.0.1 -p 8081)
进入redis控制台后,输入:config set requirepass 000000 (000000是密码)
回车,提示ok,这时候输入ping,回车,会提示(error) NOAUTH Authentication required.
然后输入 auth 000000,回车,看到提示ok就可以了。
3、图形管理工具RDM(Redis Desktop Manager)
下载地址:https://redisdesktop.com/download
按提示安装,然后打开,输入相关信息就可以了:
接下来,开始在Springboot中集成使用redis。
1、maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、application.yml配置属性
redis:
database: 0
host: 127.0.0.1
port: 8081
timeout: 3000
password: 000000
pool:
max-active: 8
max-wait: 1
max-idle: 8
min-idle: 0
3、写测试用例
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Test
public void testRedis(){
stringRedisTemplate.opsForValue().set("a","redis");
}
测试通过,ok,rdm里应该也可以看到缓存的数据了。