Redis 安裝

版本介紹

Redis 借鑒了 Linux 操作系統(tǒng)對于版本號的命名規(guī)則:版本號第二位如果是奇數(shù)要门,則為非穩(wěn)定版本(例如2.7、2.9、3.1)锰茉,如果是偶數(shù),則為穩(wěn)定版本(例如2.6切心、2.8飒筑、3.0、3.2)绽昏。當(dāng)前奇數(shù)版本就是下一個穩(wěn)定版本的開發(fā)版本协屡,例如 2.9 版本是 3.0 版本的開發(fā)版本。所以我們在生產(chǎn)環(huán)境通常選取偶數(shù)版本的 Redis全谤,如果對于某些新的特性想提前了解和使用肤晓,可以選擇最新的奇數(shù)版本。

Redis 3.0
最大的改動就是添加 Redis 的分布式實(shí)現(xiàn) Redis Cluster认然,填補(bǔ)了
Redis 官方?jīng)]有分布式實(shí)現(xiàn)的空白补憾。Redis Cluster 經(jīng)歷了4年才正式發(fā)布也是有原因的,具體可以參考 Redis Cluster 的開發(fā)日志卷员。

Redis 4.0
可能出乎很多人的意料盈匾,Redis3.2 之后的版本是 4.0,而不是 3.4毕骡、3.6削饵、3.8。下面列出 Redis4.0 的新特性:
1)提供了模塊系統(tǒng)未巫,方便第三方開發(fā)者拓展 Redis 的功能窿撬,更多模塊詳見:http://redismodules.com
2)PSYNC 2.0:優(yōu)化了之前版本中橱赠,主從節(jié)點(diǎn)切換必然引起全量復(fù)制的問題尤仍。
3)提供了新的緩存剔除算法:LFU(Last Frequently Used)箫津,并對已有57算法進(jìn)行了優(yōu)化狭姨。
4)提供了非阻塞 del 和 flushall/flushdb 功能,有效解決刪除bigkey可能造成的Redis阻塞苏遥。
5)提供了 RDB-AOF 混合持久化格式饼拍,充分利用了 AOF 和 RDB 各自優(yōu)勢。
6)提供 memory 命令田炭,實(shí)現(xiàn)對內(nèi)存更為全面的監(jiān)控統(tǒng)計(jì)师抄。
7)提供了交互數(shù)據(jù)庫功能,實(shí)現(xiàn)Redis內(nèi)部數(shù)據(jù)庫之間的數(shù)據(jù)置換教硫。
8)Redis Cluster兼容 NAT 和 Docker

Window 版的安裝

Releases · microsoftarchive/redis
https://github.com/microsoftarchive/redis/releases

打開一個 cmd 窗口 使用 cd 命令切換目錄到 redis 解壓運(yùn)行:

redis-server redis.windows.conf

這時候另啟一個 cmd 窗口叨吮,原來的不要關(guān)閉辆布,否則無法訪問服務(wù)端了。
切換到 redis 目錄下運(yùn)行: redis-cli.exe 或者直接雙擊 exe茶鉴。

Windows 版的 Redis 配置介紹

Redis 的配置文件位于 Redis 安裝目錄下锋玲,文件名為 redis.conf。

你可以通過 CONFIG 命令查看或設(shè)置配置項(xiàng)涵叮。
CONFIG GET CONFIG_SETTING_NAME

你可以通過修改 redis.conf 文件或使用 CONFIG set 命令來修改配置惭蹂。

以下是個示例:

redis 127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
redis 127.0.0.1:6379> CONFIG GET loglevel

1) "loglevel"
2) "notice"

使用 docker 安裝 redis【推薦】

特別是 redis 對 windows 支持不友好,建議使用 docker 方式進(jìn)行安裝割粮。

docker pull redis
docker run --name myredis -itd -p 6379:6379 redis:latest

mac 版的安裝

brew install redis

To have launchd start redis now and restart at login:

brew services start redis

Or, if you don't want/need a background service you can just run:

redis-server /usr/local/etc/redis.conf

Linux下 Redis 安裝

方式一:yum 安裝

以 cent OS 為例, yum install redis -y

如果是這種形式安裝的 redis 建議通過 systemctl start redis 進(jìn)行啟動和管理盾碗。

如果是通過 yum 命令自動安裝的, 建議直接通過 systemctl start redis 啟動即可舀瓢。沒必要通過 redis-server 命令選取配置文件進(jìn)行啟動廷雅。而默認(rèn)的配置文件可通過 rpm -ql redis 進(jìn)行查找,一般是 /etc/redis.conf 文件氢伟。

安裝完畢后榜轿,即可使用下面的命令啟動 redis 服務(wù)

// 服務(wù)狀態(tài)
# service redis status
// 服務(wù)啟動
# service redis start
// 服務(wù)停止
# service redis stop
// 服務(wù)重啟
# service redis restart

如果是 systemctl start redis.service 啟動的服務(wù)可通過

systemctl start redis

設(shè)置為開機(jī)自動啟動

systemctl enable redis.service

進(jìn)行查看狀態(tài)

systemctl status redis.service 

方式二:手動下載并安裝

去 redis 官網(wǎng)找到下載連接,這里我是在中文官網(wǎng)里面找朵锣,得到如下地址:http://download.redis.io/releases/redis-5.0.4.tar.gz

下載 redis 并解壓

wget  http://download.redis.io/releases/redis-5.0.4.tar.gz
tar -xvf redis-5.0.4.tar.gz   
cd redis-5.0.4/ 

編譯和安裝

make install PREFIX=/usr/local/mysoft/redis

后面是你自己的安裝路徑谬盐。PREFIX 參數(shù)指定 redis 的安裝目錄。一般軟件安裝到/usr目錄下

修改配置文件诚些。由于安裝目錄僅僅是二進(jìn)制文件飞傀,不包含配置文件,這里我們要把編譯目錄的配置文件拷貝過來诬烹,我們先進(jìn)入到安裝目錄砸烦, cd /usr/local/mysoft/redis 拷貝配置文件,順便命名為 single.conf
cp /home/redis/redis-5.0.4/redis.conf single.conf

此處可以按需選擇是否開啟后臺運(yùn)行。若要開啟绞吁,需要輸入 /daemon 進(jìn)行搜索幢痘,找到 daemonize no 并保存.

啟動 redis

cd /usr/local/mysoft/redis
bin/redis-server single.conf

Linux 驗(yàn)證 redis 安裝是否成功

查看 redis 服務(wù)是否在運(yùn)行
ps aux | grep redisps -ef | grep redis

通過 redis 指定的端口號,默認(rèn)為 6379家破。檢查 Redis 服務(wù)器狀態(tài):

netstat -nlt | grep 6379

linux 環(huán)境下查看 redis 的版本:

查看 redis 的版本有兩種方式:
redis-server --version 和 redis-server -v
或者
redis-cli --version 和 redis-cli -v

嚴(yán)格上說:通過 redis-cli 得到的結(jié)果應(yīng)該是 redis-cli 的版本颜说,但是 redis-cli 和redis-server 一般都是從同一套源碼編譯出的。所以應(yīng)該是一樣的汰聋。

redis 配置

配置支持遠(yuǎn)程連接

Redis 開啟遠(yuǎn)程登錄連接门粪,redis 默認(rèn)只能 localhost 訪問,所以需要開啟遠(yuǎn)程登錄烹困。

解決方法如下:
修改 redis.conf (通過yum 安裝的 redis 配置文件一般都在 /etc/redis.conf)玄妈,將 bind 127.0.0.1 ::1 這一行注釋掉 或者 將 bind 改為 0.0.0.0。

注意:修改后需要重啟才能生效,如還不能訪問拟蜻,請確認(rèn)是否防火墻開放了端口 6379绎签。

設(shè)置 redis 密碼

在配置文件(/etc/redis.conf)中有個參數(shù): requirepass 這個就是配置 redis 訪問密碼的參數(shù)。

比如

requirepass mypasswordissosososososososoLong_

redis 客戶端設(shè)置連接

如果需要在遠(yuǎn)程 redis 服務(wù)上執(zhí)行命令酝锅,同樣我們使用的也是 redis-cli 命令辜御。

語法格式

$ redis-cli -h MY-HOST -p MY-PORT -a MY-PASSWORD

連接 redis

redis-cli

連接本機(jī)

cd /usr/local/mysoft/redis/bin/
./redis-cli -h 127.0.0.1
  • -p 6379 如果采用默認(rèn)端口, 則6379可以不寫
  • -a password 其實(shí)也可以先不寫, 進(jìn)入后可以 auth "password " 進(jìn)行認(rèn)證

若連接的是集群, 需要加上 -c 參數(shù). 否則報(bào)錯(error) MOVED 6257 192.168.30.141:7001

另外在登錄 redis 后也可用通過 auth 輸入密碼進(jìn)行授權(quán)。

$ redis-cli -h MY-HOST -p MY-PORT
auth MY-PASSWORD

關(guān)閉 redis 服務(wù)

登錄 redis-cli 后執(zhí)行 shutdown 命令即可

或者直接連接 redis-cli 并加上 shutdown命令

Redis 客戶端推薦

Redis Desktop Manager (aka RDM)

is a fast Redis database management application for Windows, Linux, MacOS and iPadOS.
https://redisdesktop.com/

雖收費(fèi), 但是很好用

RedisView

RedisView 長得丑, 在 mac 上配色很糟心, 不推薦
https://github.com/cc20110101/RedisView/releases/

Java 客戶端

Lettuce
https://lettuce.io/

lettuce-io/lettuce-core: Advanced Java Redis client for thread-safe sync, async, and reactive usage. Supports Cluster, Sentinel, Pipelining, and codecs.
https://github.com/lettuce-io/lettuce-core

Jedis

redis/jedis: Redis Java client designed for performance and ease of use. https://github.com/redis/jedis/

redis-Jedis 連接集群配置

public void testJedisCluster() throws Exception {
    //創(chuàng)建一連接屈张,JedisCluster對象,在系統(tǒng)中是單例存在
    Set<HostAndPort> nodes = new HashSet<>();
    nodes.add(new HostAndPort("127.0.0.1", 7001));
    nodes.add(new HostAndPort("127.0.0.1", 7002));
    nodes.add(new HostAndPort("127.0.0.1", 7003));
    nodes.add(new HostAndPort("127.0.0.1", 7004));
    nodes.add(new HostAndPort("127.0.0.1", 7005));
    nodes.add(new HostAndPort("127.0.0.1", 7006));
    JedisCluster cluster = new JedisCluster(nodes);
    // 執(zhí)行 JedisCluster 對象中的方法擒权,方法和redis一一對應(yīng)。
    cluster.set("cluster-test", "my jedis cluster test");
    String result = cluster.get("cluster-test");
    System.out.println(result);
    // 程序結(jié)束時需要關(guān)閉JedisCluster對象
    cluster.close();
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阁谆,一起剝皮案震驚了整個濱河市碳抄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌场绿,老刑警劉巖剖效,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異焰盗,居然都是意外死亡璧尸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門熬拒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爷光,“玉大人,你說我怎么就攤上這事澎粟≈颍” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵活烙,是天一觀的道長徐裸。 經(jīng)常有香客問我,道長啸盏,這世上最難降的妖魔是什么重贺? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮回懦,結(jié)果婚禮上气笙,老公的妹妹穿的比我還像新娘。我一直安慰自己粉怕,他們只是感情好健民,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布抒巢。 她就那樣靜靜地躺著贫贝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上稚晚,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天崇堵,我揣著相機(jī)與錄音,去河邊找鬼客燕。 笑死鸳劳,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的也搓。 我是一名探鬼主播赏廓,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼傍妒!你這毒婦竟也來了幔摸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤颤练,失蹤者是張志新(化名)和其女友劉穎既忆,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗦玖,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡患雇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了宇挫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苛吱。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖器瘪,靈堂內(nèi)的尸體忽然破棺而出又谋,到底是詐尸還是另有隱情,我是刑警寧澤娱局,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布彰亥,位于F島的核電站,受9級特大地震影響衰齐,放射性物質(zhì)發(fā)生泄漏任斋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一耻涛、第九天 我趴在偏房一處隱蔽的房頂上張望废酷。 院中可真熱鬧,春花似錦抹缕、人聲如沸澈蟆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽趴俘。三九已至睹簇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寥闪,已是汗流浹背太惠。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疲憋,地道東北人凿渊。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像缚柳,于是被迫代替她去往敵國和親埃脏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)、高可擴(kuò)展翰绊、高可用佩谷、大數(shù)據(jù)存儲問題而產(chǎn)生的數(shù)據(jù)庫解決方...
    克魯?shù)吕?/span>閱讀 5,274評論 0 36
  • Redis是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)监嗜、可基于內(nèi)存亦可持久化的日志型谐檀、Key-Value數(shù)據(jù)庫,...
    凌亂秋天閱讀 2,974評論 0 0
  • 注意:部分內(nèi)容轉(zhuǎn)載來自網(wǎng)絡(luò)~ 一.安裝redis 1)下載redis安裝包 可去官網(wǎng)http://redis.io...
    畢業(yè)笙_16c9閱讀 454評論 0 0
  • http://www.runoob.com/redis/redis-install.html Redis 安裝 W...
    是我拉叔閱讀 271評論 0 0
  • Redis簡介 Redis是一個開源的使用ANSI C語言編寫裁奇、支持網(wǎng)絡(luò)桐猬、可基于內(nèi)存亦可持久化的日志型、Key-V...
    finlu閱讀 260評論 0 0