1. 程式人生 > 其它 >centos安裝Redis和設定遠端訪問

centos安裝Redis和設定遠端訪問

技術標籤:技術

記錄下步驟以後用到時翻一翻。

一、下載官方的檔案包和編譯

在centos下載依賴庫:

yum install gcc tcl

在redis官網的下載頁面,這裡可以選擇離線包或線上下載。

我選擇線上的,在下載頁面往下拉到 Installation

這裡官方已經教你如何線上下載了,我們按步驟來。

在centos找一個位置,我選擇/usr/local/software/目錄下

執行

wget http://download.redis.io/releases/redis-5.0.7.tar.gz
如果執行兩次還是下載不了可以現在離線或百度一下解決辦法。
用ls檢視會多出

image

解壓

tar xzf redis-5.0.7.tar.gz
進入
cd redis-5.0.7
編譯
make
檢視是否可以啟動
src/redis-server
以上就是成功的,按ctrl+c退出關閉。

二、配置環境變數和開放埠

環境變數可以不配置,不過每次開啟需要輸入全域性路徑。

不過在編輯之前我推薦下載notepad++文字編輯器,

下載開啟後再工具欄找到外掛,開啟外掛管理,

搜NppFTP,勾上後點擊安裝,等待安裝完自動開啟。

在外掛工具欄開啟

image

開啟設定

image

點選Add new 名字自取

1574685598(1)

我設定完後

image

關閉後點擊image輸入密碼連線選擇是後

image

現在可以愉快的編輯了。

選擇/資料夾點一下

image

找到/etc/profile image雙擊開啟,在最後面加入

## Redis env

export PATH=$PATH:/usr/local/software/redis-5.0.7/src

redis-5.0.7資料夾名字可以自行更改,以後換版本什麼的好方便。

儲存後再centos命令輸入source /etc/profile 使環境生效

輸入redis-server如果看到成功啟動redis就可以了。

退出後用ps -ef|grep redis看看是否有後臺執行的redis

image

看到還在後臺執行,用kill –9 7920 我圈的位置,殺死後臺。

防火牆:

firewall-cmd --permanent --add-port=6379/tcp 開放redis預設6379埠,更改埠也要改,

systemctl restart firewalld.service 重啟防火牆

firewall-cmd --list-ports 檢視埠

三、設定遠端連線

在/usr/local/software/redis-5.0.7下新建資料夾conf,

把/usr/local/software/redis-5.0.7/redis.conf複製一份到該資料夾下

image

雙擊開啟,查詢 bind 127.0.0.1 改成 #bind 127.0.0.1 這是繫結連線地址,綁定了其他不能連線的。

搜尋 # requirepass foobared 在下面一行加入 requirepass 你的密碼 。

搜尋 protected-mode 把yes改成no,這是是否開啟受保護模式。

如果要改埠,就搜尋 port 6379 ,改成你的埠後,把防火牆的埠也要開啟。

daemonize 是選擇是否在後頭執行,自己根據設定吧。

再次開啟redis

redis-server /usr/local/software/redis-5.0.7/conf/redis.conf &

後面的&是讓程式在後臺執行。

本地連線redis檢視密碼是否有效

redis-cli

image

隨便設定一下鍵值。

set str2 bbb

會報(error) NOAUTH Authentication required.錯誤就表示需要密碼。

用 auth 你的密碼 來授權。再設定鍵值就成功了。

現在試試遠端連線。

我使用的RedisDesktopManager工具,版本是0.9.3,這個是最後一個不收費版本,如何下載我就不說了,相信大家學這個也有自己本事。

開啟選擇 連線到 Redis 伺服器

1574735159(1)

填完點選測試連線

image

到這一步就基本完成。

再放出我的命令筆記,以後不見的時候來複制貼上找回就行了。。。

key鍵通用操作:
keys 萬用字元*、?、[]	模糊查詢key
randomkey				隨機返回一個鍵(是鍵不是值)
type 鍵					查詢鍵的值型別
exists 鍵				查詢鍵是否存在(0不存在,1存在)
del 鍵					刪除鍵值
rename 鍵 新鍵			更改鍵名
renamenx 鍵 新鍵		新鍵不存在則成功(0失敗,1成功)
move 鍵 1				將鍵值移動到1資料庫(0失敗,1成功)
ttl 鍵					查詢鍵值的生命週期以秒為單位(鍵不存在返回-2,鍵永久有效返回-1)
pttl 鍵					查詢鍵值的生命週期以毫秒為單位(鍵不存在返回-2,鍵永久有效返回-1)
expire 鍵 整數			設定鍵值的生命週期以秒為單位(0失敗,1成功)
pexpire 鍵 整數			設定鍵值的生命週期以毫秒為單位(0失敗,1成功)
persist 鍵				設定鍵值為永久有效(0失敗,1成功)

字串操作:
set 鍵 值  				設定鍵值,可以覆蓋已有的
setnx 鍵 值  			設定多鍵值,鍵不存在則設定(0失敗、1成功)
mset 鍵1 值1 鍵2 值2 	可以覆蓋已有的
msetnx 鍵1 值1 鍵2 值2  鍵都不存在則設定(0失敗、1成功)
setex 鍵 秒 值 			設定鍵值,並設定有效期
setrange 鍵 位置 值
設定鍵的值在指定位置上的字元,位置從0開始,
當位置大於值的長度,補0x00到位置前,返回當前的長度
get 鍵 					獲取鍵的值
mget 鍵1 鍵2 			獲取多鍵的值
getrange 鍵 開始 結束   獲取鍵的值開始到結束範圍的值,左數從0開始,右數從-1開始
getset 鍵 新值			獲取舊值並設定新值
incr 鍵 				自增1(必須是整數),返回自增後的值,
incrby 鍵 2				自增2(必須是整數),返回自增後的值
incrbyfloat 鍵 0.7      自增浮點數,返回自增後的值

list連結串列操作:
			list型別是每個子元素都是string型別的雙向連結串列
lpush key value 		值插入到頭部(左),返回長度
rpush key value 		值插入到尾部(右)
lpop  key value			獲取並刪除頭部元素
rpop  key value			獲取並刪除尾部元素
lrange key start stop	獲取連結串列中start到stop的元素
lrem key count value	刪除值,count=1從頭刪除,=-1從尾刪除,=0全刪除,返回刪除個數
ltrim key start stop	剪下start到stop的值,再給自身賦值
lindex key index		獲取index索引的值
llen key 				獲取連結串列長度
linsert key after|before search value  連結串列中搜索search,並在之前或之後插入value,返回長度
rpoplpush source dest  	source的末尾拿出插入到dest頭部,返回被操作的值
brpop/blpop key timeout	等待彈出key的尾/頭元素,沒有元素時等待到時間為止

hashes類操作:
			hash是key field value 方式的對映表,hash特別適合儲存物件,會佔用更少的記憶體,取出也方便
配置:
	hash_max_zipmap_entries 64	配置欄位最多64個
	hash_max_zipmap_value 512	配置value最大為512位元組
hset key field value 	設定key的field為value
hsetnx key field value 	field不存在下設定key的field為value
hmset key field1 value field2 value 同時設定多個field
hget key field 			獲取key的field值
hmget key field1 field2	同時獲取多個field
hincrby key field 4 	指定key的field值加上4
hexists key field 		查詢key的field是否存在
hlen key 				獲取key的field數量
hdel key field			刪除key的field
hkeys key				獲取key的所有field
hvals key				獲取key的所有value
hgetall key				獲取key的所有field及value

集合結構操作
	特點,無序、確定、唯一性。
sadd key value1 value2 	在key新增元素
smembers key 			獲取key的所有元素
srem key value			刪除key某個元素
spop key 				隨機獲取key中一個元素並刪除
srandmember key 		隨機獲取key中一個元素
sismember key value 	查詢key中是否有該元素
scard key 				返回key的元素個數
smove key1 key2 value	把key1的元素移動到key2中
sinter key1 key2 key3 	求key1、key2、key3的交集
sunion key1 key2 		求key1、key2的並集
sdiff key1 key2			求key1、key2的差集
sinterstore dest key1 key2  求key1、key2的交集並存到res裡

有序集合
	它是在set的基礎上增加了一個順序屬性,這一屬性在新增修改元素的時候可以指定,每次指定後,zset會自動按新的值調整順序。可以理解為有兩列的mysql表,一列儲存value,一列儲存順序,操作中key理解為zset的名字。
zadd key score1 value1		新增元素
zrange key start stop [withscore]	把集合排序後,返回名次[start,stop]的元素  預設是升續排列  withscores 是把score也打印出來
zrank key member			查詢member的排名(升序0名開始)
zrangebyscore key min max [withscores] limit offset N	集合(升序)排序後取score在[min, max]內的元素,並跳過offset個,取出N個
zrevrank key member		查詢member排名(降序 0名開始)
zremrangebyscore key min max	按照score來刪除元素,刪除score在[min, max]之間
zrem key value1 value2		刪除集合中的元素
zremrangebyrank key start end	按排名刪除元素,刪除名次在[start, end]之間的
zcard key				返回集合元素的個數
zcount key min max			返回[min, max]區間內元素數量
zinterstore dest numkeys key1[key2..] [WEIGHTS weight1 [weight2...]] [AGGREGATE SUM|MIN|MAX]		求key1,key2的交集,key1,key2的權值分別是weight1,weight2