第六篇:搭建redis环境(单机版)
2018-07-08 本文已影响11人
__y
上一篇中实现了轮播图,但是我们知道首页的访问量是很大的,如果每次查询都要调用数据库的话,会给数据库造成很大的压力。因此我们推荐在数据库和用户之间加一层缓存。我们只需要一次查询后,将查询结果放到缓存中,用户下次查询的时候直接从缓存取数据,这样就减少和数据库的交互,从而提高效率。在这里我们推荐使用比较流行的Redis数据库
什么是Redis,Redis能干什么?这里不做科普,想了解的同学可以去一下资料参考:
慕课网:https://www.imooc.com/learn/839
菜鸟教程:http://www.runoob.com/redis/redis-tutorial.html
1.安装环境
下面是搭建单机版的过程:
1.下载Redis安装版本
项目用的是redis.3.0.0的版本;
2.利用文件传输工具将安装包放在software中
(如果没有则创建一个software目录:mkdir /usr/local/software)
3.用解压命令解压
tar -zxcf redis-3.0.0.tar.gz -C /usr/local/
4.安装gcc环境,因为redis的运行需要C环境,因此我们要安装gcc
yum install gcc-c++
5.编译安装
先到目录中:
cd /usr/local/redis-3.0.0/
然后编译:
make
然后安装:
make install PREFIX=/usr/local/redis
cd src && make install
安装完后,我们进入redis/bin中看看
image.png
这个是启动redis的文件
6.启动redis服务端
6.1:第一种启动方式是直接使用./redis-server命令启动,只不过这种启动会占用终端,一般很少使用
6.2:第二种是使用配置文件启动也叫后端启动,常用;我们前提要做的工作是将redis的安装目录下把redis.con文件复制一份到/usr/loca/redis/bin目录下:
命令
cp redis.conf /usr/local/redis/bin/
然后修改一下文件,把daemonize的值由默认的no修改为yes,这个配置是指定是否在后台运行
image.png
然后用命令:
./redis-server redis.conf
没有任何报错可能已经就成功了。要确认的话可以使用ps -ef|grep redis或ps aux | grep redis来确认
image.png
确认过是OK的。
7.测试服务
我们看一下能不能连上我们的服务
image.png
也是OK的~
2.利用Jedis连接服务端测试
在java中我们一般是jedis来连接服务端。
1.在taotao-content-service工程中添加依赖包
<!-- Redis客户端 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
s
写一个测试类来测试一下~
@Test
public void TestJedis(){
//创建jedis对象,需要指定Redis服务的IP和端口号
Jedis jedis = new Jedis("192.168.208.50",6379);
//操作数据库
jedis.set("name","lan");
//获取数据
String name = jedis.get("name");
System.out.println(name);
//关闭jedisq
jedis.close();
}
image.png
但是我们看到每次测试的话都会创建一个jedis对象,这样是比较耗费资源的。在这里我们利用数据库连接池来处理,由于它是一个单例对象。因此非常节省资源
//连接池处理
public void TestJedisPool(){
//创建一个连接池
JedisPool jedisPool = new JedisPool("192.168.208.50",6379);
//获取连接
Jedis jedis = jedisPool.getResource();
//使用jedis操作数据库(方法级别,就是说只是在该方法中使用,用完就关闭)
jedis.set("user","test");
String value = jedis.get("user");
System.out.println(value);
//用完之后关闭jedis连接
jedis.close();
//系统关闭前先关闭数据库连接池
jedisPool.close();
}
image.png
也是没有问题的!