Redis安裝與配置Redis安裝與配置
今天在使用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安裝與配置