服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|

服務器之家 - 數據庫 - Redis - Linux安裝單機版Redis的完整步驟

Linux安裝單機版Redis的完整步驟

2019-11-16 17:34玄冰 Redis

這篇文章主要給大家介紹了關于Linux安裝單機版Redis的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

redis是當前比較熱門的NOSQL系統之一,它是一個key-value存儲系統。和Memcached類似,但很大程度補償了 memcached的不足,它支持存儲的value類型相對更多,包括string、list、set、zset和hash。這些數據類型都支持 push/pop、add/remove及取交集并集和差集及更豐富的操作。在此基礎上,redis支持各種不同方式的排序。Redis數據都是緩存在計算機內存中,并且會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件。

最近在遷移測試環境,有用到Redis,記錄下linux安裝單機版Redis的過程,下面話不多說了,來一起看看詳細的介紹吧

驗證gcc-c++環境

redis使用c語言開發,所以要運行在linux上,需要gcc-c++的環境。

檢查是否有gcc-c++環境:

?
1
rpm -qa | grep gcc-c++

如果沒有進行安裝:

?
1
yum install gcc-c++
?
1
yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl

安裝Redis

首先下載安裝包:

?
1
wget http://download.redis.io/releases/redis-4.0.10.tar.gz

然后解壓至指定目錄:

?
1
tar -zxvf redis-4.0.10.tar.gz -C /usr/local/

進入到解壓后的目錄之后進行編譯:

?
1
2
cd /usr/local/redis-4.0.10
make

編譯成功后進行安裝,設置安裝路徑:

?
1
make install PREFIX=/usr/local/redis

安裝完成后就可以到對應的目錄下啟動:

?
1
2
cd /usr/local/redis/bin
./redis-server

順利的話,redis已經正常啟動,但是在終端會顯示啟動內容,如果不希望顯示的話,可以修改下配置。

首先去copy安裝包中的redis.conf

?
1
cp /root/redis-4.0.10/redis.conf /usr/local/redis

然后打開配置文件,將文件中的daemonize設置為yes。

vi redis.conf之后進行編輯,如下截圖:

Linux安裝單機版Redis的完整步驟

然后帶著配置項啟動即可:

?
1
./redis-server redis.conf

驗證與操作

redis安裝完之后,我們校驗下是否正常。

首先我們啟動測試端:./redis-cli,然后進行一些簡單的操作,如下截圖:

Linux安裝單機版Redis的完整步驟

配置說明

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
##基本配置
daemonize no //是否以后臺進程啟動
databases 16 //創建database的數量(默認選中的是database 0)
 
 
save 900 1 #刷新快照到硬盤中,必須滿足兩者要求才會觸發,即900秒之后至少1個關鍵字發生變化。
save 300 10 #必須是300秒之后至少10個關鍵字發生變化。
save 60 10000 #必須是60秒之后至少10000個關鍵字發生變化。
stop-writes-on-bgsave-error yes #后臺存儲錯誤停止寫。
rdbcompression yes #使用LZF壓縮rdb文件。
rdbchecksum yes #存儲和加載rdb文件時校驗。
dbfilename dump.rdb #設置rdb文件名。
dir ./ #設置工作目錄,rdb文件會寫入該目錄。
 
 
//主從配置
slaveof <masterip> <masterport> //設為某臺機器的從服務器
masterauth <master-password> //連接主服務器的密碼
slave-serve-stale-data yes # 當主從斷開或正在復制中,從服務器是否應答
slave-read-only yes #從服務器只讀
repl-ping-slave-period 10 #從ping主的時間間隔,秒為單位
repl-timeout 60 #主從超時時間(超時認為斷線了),要比period大
slave-priority 100 #如果master不能再正常工作,那么會在多個slave中,選擇優先值最小的一個slave提升為master,優先值為0表示不能提升為master。
 
repl-disable-tcp-nodelay no #主端是否合并數據,大塊發送給slave
slave-priority 100 //從服務器的優先級,當主服掛了,會自動挑slave priority最小的為主服
 
 
#安全
requirepass foobared # 需要密碼
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 #如果公共環境,可以重命名部分敏感命令 如config
 
 
 
#限制
maxclients 10000 #最大連接數
maxmemory <bytes> #最大使用內存
 
maxmemory-policy volatile-lru #內存到極限后的處理
volatile-lru -> #LRU算法刪除過期key
allkeys-lru -> #LRU算法刪除key(不區分過不過期)
volatile-random -> #隨機刪除過期key
allkeys-random -> #隨機刪除key(不區分過不過期)
volatile-ttl -> #刪除快過期的key
noeviction -> #不刪除,返回錯誤信息
 
#解釋 LRU ttl都是近似算法,可以選N個,再比較最適宜T踢出的數據
maxmemory-samples 3
 
#日志模式
appendonly no #是否僅要日志
appendfsync no # 系統緩沖,統一寫,速度快
appendfsync always # 系統不緩沖,直接寫,慢,丟失數據少
appendfsync everysec #折衷,每秒寫1次
 
no-appendfsync-on-rewrite no #為yes,則其他線程的數據放內存里,合并寫入(速度快,容易丟失的多)
auto-AOF-rewrite-percentage 100 #當前aof文件是上次重寫是大N%時重寫
auto-AOF-rewrite-min-size 64mb #aof重寫至少要達到的大小
 
#慢查詢
slowlog-log-slower-than 10000 #記錄響應時間大于10000微秒的慢查詢
slowlog-max-len 128 # 最多記錄128條
 
 
#服務端命令
time #返回時間戳+微秒
dbsize #返回key的數量
bgrewriteaof #重寫aof
bgsave #后臺開啟子進程dump數據
save #阻塞進程dump數據
 
slaveof host port #做host port的從服務器(數據清空,復制新主內容)
slaveof no one #變成主服務器(原數據不丟失,一般用于主服失敗后)
 
flushdb #清空當前數據庫的所有數據
flushall #清空所有數據庫的所有數據(誤用了怎么辦?)
 
shutdown [save/nosave] #關閉服務器,保存數據,修改AOF(如果設置)
 
slowlog get #獲取慢查詢日志
slowlog len #獲取慢查詢日志條數
slowlog reset #清空慢查詢
 
 
config get #選項(支持*通配)
config set #選項 值
config rewrite #把值寫到配置文件
config restart #更新info命令的信息
 
debug object key #調試選項,看一個key的情況
debug segfault #模擬段錯誤,讓服務器崩潰
object key (refcount|encoding|idletime)
monitor #打開控制臺,觀察命令(調試用)
client list #列出所有連接
client kill #殺死某個連接 CLIENT KILL 127.0.0.1:43501
client getname #獲取連接的名稱 默認nil
client setname "名稱" #設置連接名稱,便于調試
 
 
 
#連接命令
auth 密碼 #密碼登陸(如果有密碼)
ping #測試服務器是否可用
echo "some content" #測試服務器是否正常交互
select 0/1/2... #選擇數據庫
quit #退出連接

總結

搭建redis還是比較簡單的,有興趣的小伙伴可以親自試驗下,下次再嘗試下搭個redis集群。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://www.bug2048.com/redis20180823/

延伸 · 閱讀

精彩推薦
  • RedisRedis 中spark參數executor-cores引起的異常解決辦法

    Redis 中spark參數executor-cores引起的異常解決辦法

    這篇文章主要介紹了Redis 中spark參數executor-cores引起的異常解決辦法的相關資料,需要的朋友可以參考下 ...

    DoctorQ5032019-11-05
  • RedisRedis獲取某個大key值的腳本實例

    Redis獲取某個大key值的腳本實例

    這篇文章主要給大家分享介紹了關于Redis獲取某個大key值的一個腳本實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習...

    linda玲5002019-11-13
  • RedisRedis教程(十五):C語言連接操作代碼實例

    Redis教程(十五):C語言連接操作代碼實例

    這篇文章主要介紹了Redis教程(十五):C語言連接操作代碼實例,本篇博客是該系列博客中的最后一篇,在這里將給出基于Redis客戶端組件訪問并操作Redis服務器...

    Redis教程網1202019-10-24
  • Redisredis中事務機制及樂觀鎖的實現

    redis中事務機制及樂觀鎖的實現

    這篇文章主要介紹了redis中事務機制及樂觀鎖的相關內容,通過事務的執行分析Redis樂觀鎖,具有一定參考價值,需要的朋友可以了解下。 ...

    小禾點點4652019-11-10
  • RedisRedis兩種持久化方案RDB和AOF詳解

    Redis兩種持久化方案RDB和AOF詳解

    這篇文章主要介紹了Redis 兩種持久化方案,RDB(Redis DataBase)和 AOF(Append Only File),給大家提供參考,一起學習下。 ...

    laozhang3912019-11-10
  • RedisRedis安裝及基本數據類型

    Redis安裝及基本數據類型

    這篇文章主要介紹了Redis安裝及基本數據類型,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 ...

    liuyang03172019-11-13
  • Redis深入了解Redis的性能

    深入了解Redis的性能

    這篇文章主要介紹了Redis的性能,作者通過Visual Studio上的C#程序對其進行了分析,需要的朋友可以參考下 ...

    goldensun2662019-10-25
  • Redispython腳本實現Redis未授權批量提權

    python腳本實現Redis未授權批量提權

    這篇文章主要給大家介紹了關于利用python腳本實現redis未授權批量提權的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的...

    secange4392019-11-08
法甲赛程积分