日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

安装和使用Redis【转】

發布時間:2023/12/20 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安装和使用Redis【转】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis是一個高性能的內存數據庫,它體積輕巧性能又高,在企業中被廣泛使用。

安裝Redis

Windows安裝

Redis是為Linux系統設計的,但是也有團隊為Windows做了移植。我們可以到這里下載Redis的Windows版本。

如果使用NuGet或者Chocolatey的話,也可以用這些工具安裝Windows版的Redis。

# Nuget PM> Install-Package Redis-64# Chocolatey choco install redis-64

不過我不準備使用Windows 移植版的Redis,因為Redis是為Linux設計的,而且大部分公司使用的服務器也是Linux系統,所以我們不妨直接學習Linux版本Redis的安裝和使用。

Linux安裝

相比之下,由于Redis一開始就是設計在Linux上使用的,所以Linux安裝就比較簡單了。主流的Linux系統的官方軟件倉庫中應該都有Redis軟件,所以直接可以利用相應的包管理器安裝。

例如,在ArchLinux中,使用下面命令就可以安裝redis了。

sudo pacman -S redis

對于其他Linux系統,使用它們的包管理器安裝Redis即可。

安裝完成之后,使用下面的命令啟動Redis。

# 讓redis開機自啟 systemctl enable redis# 啟動redis systemctl start redis

Docker安裝

其實最好的辦法還是使用Docker安裝Redis,由于Docker的容器化特性,我們可以在鏡像中打包一個配置好的Redis。比方說,著名的Gitlab的Docker鏡像中就直接打包了Ruby、PostGreSQL、Redis等軟件,我們不需要任何額外配置即可使用整合好的Gitlab。

首先拉取Redis鏡像。

docker pull redis

然后啟動Redis鏡像,其中name可以修改為自己想要的名字。

docker?run?--name some-redis?-d?redis

如果需要持久化數據,需要在啟動命令中指定數據卷,下面的命令默認把數據存放到/data。如果需要自定義數據卷的位置,可以使用--volumes-from some-volume-container?或?-v /docker/host/dir:/data參數。

docker?run?--name some-redis?-d?redis redis-server --appendonly yes

要使用redis-cli連接Redis服務器,使用下面的命令。

docker?run?-it?--link some-redis:redis --rm redis redis-cli -h redis -p 6379

詳細配置可以參考Docker官方文檔。

配置Redis

redis.conf

在Linux下,Redis的配置文件默認在/etc/redis.conf(可能根據操作系統不同而產生變化)。配置文件有很多注釋,仔細閱讀之后我們就可以配置Redis了。完整的樣例文件可以看這里,techstay/redis.conf點擊預覽。文件看起來很大,其實大部分都是注釋,實際配置并不多。

下面來簡單介紹一些比較重要的配置。由于我也是剛剛開始學習Redis,所以不會介紹后面的高級配置,這里只介紹最基本最重要的配置。

單位換算

如果需要設置Redis的內存大小和文件大小,就需要設置具體的數值。單位換算按照下面的進制進行換算,不帶b的是1000進制,帶b的是1024進制。存儲單位不區分大小寫,所以gb、gB、GB等單位都是相同的。

# 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 bytes # 1g => 1000000000 bytes # 1gb => 1024*1024*1024 bytes

IP地址

用bind配置Redis服務器所綁定的IP地址,默認情況下是本地回環地址。如果不指定的話,Redis就會運行在所有網絡接口上。

bind?127.0.0.1

不過需要注意,綁定到所有接口可能會引起安全問題。所以考慮到安全問題,最好讓Redis只綁定固定的幾個接口。

保護模式

Redis可以運行在保護模式,這需要顯示將保護模式打開。

protected-mode?yes

如果保護模式打開,并且:1)沒有顯式使用bind綁定具體的IP地址;2)沒有設置密碼,那么Redis只會監聽本地IPv4和IPv6的回環地址(127.0.0.1和::1)以及Unix Domain Sockets。

端口號

默認端口號是6379,如果需要較高的安全性也可以自定義端口號。

port?6379

客戶端超時

當客戶端在指定時間(單位:)內沒有任何動作時,Redis就會斷開連接。默認是0,表示不斷開。

timeout?0

TCP連接存貨時間

這個參數指定TCP連接會保持多少秒,默認是300秒。

tcp-keepalive?300

守護模式

指定Redis是否以守護模式運行。

daemonize?no

日志打印

先說說日志級別,有debug、verbose、notice和warning四種日志級別,顯示的信息從多到少。如果需要調試的話,使用前兩種日志級別,如果需要在生產環境中使用,推薦使用后兩種級別。默認值是notice。

loglevel?notice

還可以指定日志文件的位置,如果不指定的話,默認會直接在控制臺輸出日志信息。如果Redis作為守護模式運行,而且沒有指定日志文件位置, 那么日志會輸出到/dev/null。

logfile?""

保存到文件

可以設置Redis定期將內存數據保存到文件,以免服務器關閉之后文件丟失。在這里可以設置多個值,例如下面第一行表示每隔900秒,如果至少有1個鍵發生改變則保存數據;第三行表示每隔60秒,如果至少10000個鍵發生改變則保存數據。

save 900 1 save 300 10 save 60 10000

密碼

使用密碼可以提高Redis服務器的安全性。需要注意,由于Redis的高性能特性,一個用戶一秒鐘最高可以嘗試15萬次密碼。所以為了保證安全性,密碼需要盡量設置的長一些。

requirepass foobared

配置文件還有其他一些配置,我就不介紹了。如果需要更詳細的配置可以直接查看配置文件的注釋,對于每個配置項都有詳細的介紹。

Docker配置

Docker的Redis鏡像沒有redis.conf文件,如果你需要這個文件來配置Redis,可以自己打包一個包含redis.conf的鏡像。這需要編寫類似下面這樣的Dockerfile。

FROM redis COPY redis.conf /usr/local/etc/redis/redis.conf CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]

當然其實完全不用這么麻煩,直接在啟動Redis鏡像的時候就可以指定配置文件的位置。這種辦法比較靈活,而且很簡單,所以如果沒有特別需求的話這樣就可以了。

docker?run?-v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf?--name myredis redis redis-server /usr/local/etc/redis/redis.conf

使用Redis

redis-cli

首先來介紹一下Redis的命令行工具redis-cli,我們對Redis服務器進行操作主要通過它來進行。

如果要查看幫助信息,可以使用redis-cli --help命令,下面列出了一部分輸出。

# redis-cli --help redis-cli 3.2.8Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]-h <hostname> Server hostname (default: 127.0.0.1). -p <port> Server port (default: 6379). -s <socket> Server socket (overrides hostname and port). -a <password> Password to use when connecting to the server.

如果主機名和端口號都是默認值的話,可以直接輸入redis-cli進入交互式界面。如果需要連接到其他主機上的Redis服務器,可以使用-h參數指定主機名,使用-p參數指定端口號,使用-a參數指定密碼。

# redis-cli 127.0.0.1:6379>

Redis命令

進入交互式界面之后,我們可以使用Redis提供的各種命令操作服務器了。Redis的命令有很多,作用也各不相同。大家可以到Redis Command查看所有命令和用途。如果不喜歡英文的話,可以查看Redis 命令參考,這是漢化過的命令文檔。

存取數據

這里我就列舉一些常用的命令。首先是存取命令,使用set 鍵 值來保存一個數據,保存成功后會返回OK。

127.0.0.1:6379> set fuck fuck OK

保存之后,可以使用get 鍵來獲取這個值。

127.0.0.1:6379> get fuck "fuck"

查詢鍵

keys 模式用于查詢符合模式的鍵的名字,支持的查詢方式是GLOB類型的,支持*、?、[a-b]、[^a]等通配符。

127.0.0.1:6379> keys * 1) "fuck" 2) "food_num"

配置Redis

和存取命令類似,還有config get和config set用于獲取和設置配置文件中的配置。比如說,要獲取配置文件的所有值,使用下面的命令。

127.0.0.1:6379>?config?get?*

再比如,如果要設置Redis的登錄密碼,可以這么做。然后退出redis-cli并重新連接,即可生效。

127.0.0.1:6379>?config?set?requirepass?123456

認證

如果Redis服務器設置了密碼,在進行任何操作之前都需要認證才能進行,否則會提示NOAUTH。

127.0.0.1:6379> get food_num (error) NOAUTH Authentication required.

這時候需要使用auth命令進行認證,才能繼續操作。

127.0.0.1:6379>?auth?123456

當然,也可以直接在redis-cli連接的時候使用-a參數指定密碼。

redis-cli -a 123456

超時和持久

可以使用expire命令為一個鍵設置超時值(單位:秒),在這里時間之后該值會被刪除。

127.0.0.1:6379> expire fuck 10 (integer) 1

如果10秒之后再次查看該值,會發現已經不存在了。

127.0.0.1:6379> get fuck (nil)

相應的,還有persist命令,會將該數據的超時值取消,這樣只要數據庫還在,這個數據就會一直存在。

127.0.0.1:6379> persist fuck (integer) 0

除了使用expire命令為已存在的值設置超時值,還可以在設置數據的時候直接指定超時值。

set?key?100?ex?10

在指定了超時值之后,可以使用ttl命令查看距離超時值還剩多少時間。

127.0.0.1:6379> ttl fuck (integer) 17

退出

最后,可以使用quit命令退出命令行界面。

?

原文鏈接:https://segmentfault.com/a/1190000009247586

轉載于:https://www.cnblogs.com/alqscool/p/8986316.html

總結

以上是生活随笔為你收集整理的安装和使用Redis【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。