今天在使用Redis的时候遇到了一些问题,这个问题的解决,发现很多人使用Redis的时候没有一点安全意识。所以又重温了一下Redis,觉得应该写一下Redis的安全和配置。
  
  Redis安装与配置Redis安装与配置
  
  安装
  
  下载,解压,编译:
  
  $ wget http://download.redis.io/releases/redis-4.0.10.tar.gz
  
  $ tar xzf redis-4.0.10.tar.gz
  
  $ mv redis-4.0.10 /usr/local/redis
  
  $ cd /usr/local/redis
  
  $ make
  
  二进制文件是编译完成后在src目录下
  
  $ ll -a src | grep redis
  
  -rw-rw-r-- 1 root root 2.4K Jun 13 19:02 redisassert.h
  
  -rwxr-xr-x 1 root root 2.6M Sep 14 12:05 redis-benchmark
  
  -rw-rw-r-- 1 root root 29K Jun 13 19:02 redis-benchmark.c
  
  -rw-r--r-- 1 root root 129K Sep 14 12:05 redis-benchmark.o
  
  -rwxr-xr-x 1 root root 6.0M Sep 14 12:05 redis-check-aof
  
  -rw-rw-r-- 1 root root 7.0K Jun 13 19:02 redis-check-aof.c
  
  -rw-r--r-- 1 root root 38K Sep 14 12:05 redis-check-aof.o
  
  -rwxr-xr-x 1 root root 6.0M Sep 14 12:05 redis-check-rdb
  
  -rw-rw-r-- 1 root root 14K Jun 13 19:02 redis-check-rdb.c
  
  -rw-r--r-- 1 root root 68K Sep 14 12:04 redis-check-rdb.o
  
  -rwxr-xr-x 1 root root 2.8M Sep 14 12:05 redis-cli
  
  -rw-rw-r-- 1 root root 99K Jun 13 19:02 redis-cli.c
  
  -rw-r--r-- 1 root root 450K Sep 14 12:05 redis-cli.o
  
  -rw-rw-r-- 1 root root 22K Jun 13 19:02 redismodule.h
  
  -rwxr-xr-x 1 root root 6.0M Sep 14 12:05 redis-sentinel
  
  -rwxr-xr-x 1 root root 6.0M Sep 14 12:05 redis-server
  
  -rwxrwxr-x 1 root root 65K Jun 13 19:02 redis-trib
  
  其中redis-server为服务端程序,redis-cli为客户端程序。
  
  创建服务
  
  二进制文件是编译完成后在src目录下,通过下面的命令启动Redis服务:
  
  $ ln -s /usr/local/redis/src/redis-cli /usr/bin/redis
  
  $ ln -s /usr/local/redis/src/redis-server /usr/bin/redisd
  
  输出版本
  
  $ redis --version
  
  redis-cli 4.0.10
  
  $ redisd --version
  
  Redis server v=4.0.10 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=e53a76b77e60d5b0
  
  至此,表明你的redis已经安装完毕。
  
  配置
  
  为什么配置要单独列出来一个标题呢?
  
  这是因为Redis并没有最大地去优化安全方面,而是尽最大可能去优化高性能和易用性。
  
  Redis默认情况下会开启6379端口,在认证未开启的情况下,可导致任意用户进行未授权访问操作。
  
  所以我们这里需要做一些安全性配置
  
  新增用户
  
  千万不要用一个有较高权限的用户来启动Redis。如果你的Reidis不安全,那么你的高权限用户将会成为突破口,导致你的服务器被攻击。
  
  所以我们需要创建redis账户,并通过该账户启动redis服务,并且配置该账户禁止登陆。
  
  $ adduser redis
  
  $ vim /etc/passwd
  
  redis:x:1001:1001:,,,:/home/redis:/usr/sbin/nologin
  
  $ chown -R redis:redis /usr/local/redis
  
  修改配置文件
  
  这里需要你对vim有基本的操作
  
  $ vim redis.conf
  
  # 第92行左右 修改端口
  
  port 7379
  
  # 第171行左右 日志文件
  
  logfile /var/log/redis/redis.log
  
  # 第263行左右 设置快照文件目录,切勿设置成一个redis用户没有权限的目录
  
  dir /usr/local/redis/
  
  # 第500行左右 设置密码
  
  requirepass YOUR_PASSWORD
  
  $ mkdir /var/log/redis
  
  $ chown -R redis:redis /var/log/redis/
  
  配置一个启动程序
  
  redis-server默认不是后台程序启动,所以我们需要为它配置一个启动程序

<settings>
<!--懒加载模式在Mybatis中默认是关闭的-->
<setting name="lazyLoadingEnabled" value="true"/>
<!--不同于懒加载的:积极加载方式,所以在懒加载的时候设置该属性为false-->
<setting name="aggressiveLazyLoading" value="false"></setting>
</settings>
复制代码

  3、由于是使用懒加载,所以我们显然可以将Mapper配置文件中的查询分为两张单表查询的statment,其中User表的查询放在Order查询配置的resultMap中,并进行延迟加载的设置

LazyLoading配置文件信息

  4、在Mapper.java中添加了延迟加载的测试方法

//延迟加载测试方法
public List<Order> findOrderAndUserByLazyLoading() throws Exception;
  5、使用Junit测试延迟加载的测试代码

复制代码
1 @Test
2 public void testFindOrderAndUserByLazyLoading(www.gcyL157.com) throws Exception {
3 SqlSession sqlSession = sqlSessionFactory.openSession();
4 OrderMapper orderMapper = sqlSession.getMapper(OrderMapper.class);
5
6 List<Order>www.michenggw.com orderList= orderMapper.findOrderAndUserByLazyLoading();
7
8 for (Order order : www.fengshen157.com/ orderList) {
9 System.out.println(order.getUser(www.dasheng178.com));
10 }
11
12 sqlSession.close();
13 }
复制代码
  
  .
  
  $ vim /usr/bin/goredisd
  
  nohup /usr/bin/redisd /usr/local/redis/redis.conf >> /var/log/redis/goredisd.log 2>&1 &
  
  $ goredisd
  
  $ ps -axu | grep redis
  
  redis 19498 0.0 0.1 145304 2580 pts/0 Sl 10:49 0:09 /usr/bin/redisd *:7379

Redis安装与配置Redis安装与配置的更多相关文章

  1. Ubuntu 安装和配置redis数据库

    Ubuntu 14.04下安装和配置redis数据库 小编现在在写一个分布式爬虫,要用到这个数据库,所以分享一下小编是如何安装和配置的,希望对大家有帮助. 工具/原料   Ubuntu 系统电脑一台 ...

  2. centos6.3 安装配置redis

    1.下载安装 1.1 下载包 注:在http://download.redis.io/releases查询需要下载的版本 wget http://download.redis.io/releases/ ...

  3. Linux centos7下安装配置redis及Redis desktop Manager工具连接注意事项

    基本工具:VMware12.CentOS-7-x86_64-Everything-1611.iso.redis-desktop-manager-0.8.0.3841 废话不多说,首先,关于什么是Red ...

  4. CentOS7使用yum安装配置Redis

    >>>>>>>>>>>>>>>>>>>>>>>>> ...

  5. linux下安装与配置Redis

    1.安装 (1)获取源代码 wget http://download.redis.io/releases/redis-4.0.8.tar.gz (2)解压 tar xzvf redis-4.0.8.t ...

  6. Redis详细讲解(Redis原理,Redis安装,Redis配置,Redis使用,Redis命令)

    一.Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...

  7. 【Redis】2、CentOS 7 上安装 redis3.2.3安装与配置

    一.redis源码安装 [更正]现在最新稳定的版本已经到了3.2.8 截至到2016.8.11,redis最新稳定版本为3.2.3.本篇文章我们就以此版本为基础,进行相关的讲解. 下载redis源码, ...

  8. centos7安装配置redis

    1.下载redis > cd /usr/local/src #文件下载目录 > curl -O http://download.redis.io/releases/redis-3.2.8. ...

  9. windows下安装和配置redis

    1.windows下安装和配置redis 1.1 下载: 官网(linux下载地址):https://redis.io/ Windows系统下载地址:https://github.com/MSOpen ...

  10. Centos7 安装并配置redis

    一. 安装 操作系统:Centos 7. 最小化安装 redis版本: 4.0.2 服务器地址:*** 安装过程: 安装wget, yum -y install wget 2.  下载redis wg ...

随机推荐

  1. 快读板子fread

    struct ios { inline char read(){ <<|; static char buf[IN_LEN],*s,*t; ,IN_LEN,stdin)),s==t?-:*s ...

  2. Java的Graphics类进行绘图的方法详解

    Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力. Graphics类提供基本的几何图形绘制方法,主要有:画线段.画矩形.画圆.画带颜色的图形.画椭圆.画圆弧.画多边形等 ...

  3. python 的入门

    时光匆匆,大一的时间过的很快,从大一上学期学的c开始,就感觉出c的结构很复杂,但是不可否认,学习c和汇编等涉及到系统底层知识才会有可能开发出属于自己知识产权的东西,然而,python以其简约性,丰富的 ...

  4. request,logging,ConfigParser——接口框架

    做一个将参数和用例分开放置,并且输出log的接口测试框架 我的框架如下所示 Log文件用来设置log输出文件,需要时可以在用例内调用输出,config用来填写一切需要的参数信息,jiekou_post ...

  5. Linux 优化详解

    一.引子 系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不是说现在又花了.测试了,以后就可以一劳永逸,而不是说 ...

  6. Unity学习笔记(2): 如何使物体消失

    Unity使物体消失的三种方法 GameObject.Destroy(gameobjcet); //在下一帧破坏物体 gameObject.SetActive(false); //Unity2017新 ...

  7. NO.08--VUE之自定义组件添加原生事件

    前几篇给大家分享了我的业余的“薅羊毛”的经历,回归正题,讲回vue吧: 许多vue新手在工作开发中会遇到一个问题,直接使用 button 添加原生事件是没有问题的,但是使用自定义组件添加原生事件时,就 ...

  8. PHP学习和使用总结

    起因 学习和使用PHP也有不少年头了,而自己也在学习和使用其他许多语言.我想通过这个总结来给自己一个交代.另一方面也分享一下开发经验,如何用PHP开发和管理大型的项目. 闲聊 许多人说自己1天学会PH ...

  9. 禁用 Python GC,Instagram 性能提升10%

    通过关闭 Python 垃圾收集(GC)机制,该机制通过收集和释放未使用的数据来回收内存,Instagram 的运行效率提高了 10 %.是的,你没听错!通过禁用 GC,我们可以减少内存占用并提高 C ...

  10. KETTLE设置变量

    一.kettle变量类型 kettle变量分为: 1.环境变量 通过 set variables组件设置变量,范围可以是:JVM变量.作业变量.父作业变量.根作业变量.使用时通过${var}或 %%v ...