Java框架搭建

第六篇:搭建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中

image.png
(如果没有则创建一个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

也是没有问题的!

上一篇下一篇

猜你喜欢

热点阅读