centos安裝Redis和設置遠程訪問

来源:https://www.cnblogs.com/mowen120/archive/2019/11/26/11933810.html

記錄下步驟以後用到時翻一翻。 一、下載官方的文件包和編譯 在centos下載依賴庫: yum install gcc tcl 在redis官網的下載頁面,這裡可以選擇離線包或線上下載。 我選擇線上的,在下載頁面往下拉到 Installation 這裡官方已經教你如何線上下載了,我們按步驟來。 在ce ...


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

一、下載官方的文件包和編譯

在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
image
以上就是成功的,按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

您的分享是我們最大的動力!

更多相關文章
  • bitmap就是在一個二進位的數據中,每一個位代表一定的含義,這樣最終只需要存一個整型數據,就可以解釋出多個含義.業務中有一個欄位專門用來存儲用戶對某些功能的開啟和關閉,如果是傳統的思維,肯定是建一個欄位來存0代表關閉,1代表開啟,那麼如果功能很多或者需要加功能開關,就需要不停的創建欄位.使用bit ...
  • 背 景: 在MySQL中如果是有限的層次,比如我們事先如果可以確定這個樹的最大深度, 那麼所有節點為根的樹的深度均不會超過樹的最大深度,則我們可以直接通過left join來實現。 但很多時候我們是無法控制或者是知道樹的深度的。這時就需要在MySQL中用存儲過程(函數)來實現或者在程式中使用遞歸來實 ...
  • select A.* from tb_mend_enrol A, (select A.Typeid, A.address from tb_mend_enrol A group by A.Typeid, A.address having count(A.Typeid) >= 2 and count(A ...
  • [20191126]探究等待事件的本源2.txt--//做一個測試,驗證如果寫入控制文件慢也會影響提交性能.1.環境:[email protected]> @ ver1PORT_STRING VERSION BANNER x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database ...
  • -- 1.提取此類數據中的1的索引位置,從1開始 例: 0001100001100 --> 4,5,10,11 create or replace function hazq_instr_contains( v_str in varchar2)return varchar2is v_count nu ...
  • 一、問題描述: 需要將工作界面上的一些已經離職的用戶狀態改為失效,並備註為離職 二、需要準備/拿到手的工具/條件/數據: 1.已離職人員名單(excel格式) 2.任意mongodb工具(筆者使用的是NoSQLBooster for Mongodb) 3.連接好的mongodb資料庫(有些網路/策略 ...
  • 在Web應用發展的初期,那時關係型資料庫受到了較為廣泛的關註和應用,原因是因為那時候Web站點基本上訪問和併發不高、交互也較少。而在後來,隨著訪問量的提升,使用關係型資料庫的Web站點多多少少都開始在性能上出現了一些瓶頸,為了剋服這一問題,Redis應運而生,讓我們通過本文一起來瞭解下Redis 是... ...
  • Redis基礎類型常用操作命令 概念:Redis是用C語言開發的一個開源的高性能鍵值對資料庫。 特征: 數據間沒有必然的聯繫 內部採用單線程機制進行工作 高性能 多數據類型支持 1. 字元串類型 String 2. 列表類型 List 3. 散列類型 Map 4. 集合類型 Set 5. 有序集合類 ...
一周排行
  • C#實現(Delegate)的委托就不多說了,直接上代碼,看代碼中的註釋: namespace Delegate { delegate void DGSayiHi(string name);//聲明委托 delegate void DGDo(string name); class Program { ...
  • C#實現的從小到大的冒泡排序: public void BubbleSort(int[] array) { int length = array.Length; for (int i = 0; i < length - 1; i++) { for (int j = length - 1; j > i ...
  • string aa = DateTime.Now.ToShortDateString();//"2019/9/23" string bb = DateTime.Now.ToShortTimeString();//"上午 10:21" string ff = DateTime.Now.ToLongDa ...
  • 1. 什麼是,以及怎麼用畫中畫 Windows 10 Creators Update以後UWP提供了一個新的視圖模式CompactOverlay,中文翻譯成 緊湊的覆蓋層 ?反正大部分時間我們都會稱它為 畫中畫模式 。 上圖中右上角即為進入畫中畫模式的微軟“電影和電視”應用。 可以調用 "Appli ...
  • C#實現的對兩個Table進行Merge,兩表必須存在至少一個公共欄位作為連接項,否則連接就失去了意義。如下是對兩個table進行Merge的詳細代碼: private void button1_Click(object sender, EventArgs e)//Button點擊觸發事件 { #r ...
  • 在很多時候,我們做一些非常規化的界面的時候,往往需要創建一些用戶控制項,在其中繪製好一些基礎的界面塊,作為後續重覆使用的一個單元,用戶控制項同時也可以封裝處理一些簡單的邏輯。在開發Winform各種類型項目,我都時不時需要定製一些特殊的用戶控制項,以方便在界面模塊中反覆使用。我們一般是在自定義的用戶控制項里... ...
  • 第一部分:面向對象 封裝 繼承(里氏轉換) 多態第二部分:值類型、引用類型、字元串操作第三部分:集合文件操作第四部分:正則表達式第五部分:XML操作第六部分:委托、事件第七部分:反射。 //存儲著我們當前正在運行的進程//Process[] pro = Process.GetProcesses(); ...
  • 程式處理存放圖片的幾種方式 我的理解有4個: 1:放在項目本身得文件夾中,直接部署到伺服器上 2:存放在磁碟中,然後資料庫中存放路徑,讀取得時候傳路徑。這個適合小項目 3:將圖片轉換成二進位文件,但是不建議這樣做,因為會給資料庫造成壓力。 4:存放在雲存儲器上,也是在資料庫上存地址,不過是雲地址,使 ...
  • 什麼是AutoMapper?AutoMapper是一個簡單的小型庫,用於解決一個看似複雜的問題 - 擺脫將一個對象映射到另一個對象的代碼。這種類型的代碼是相當沉悶和無聊的寫,所以為什麼不發明一個工具來為我們做? 我們來看看在.netcore3.1中怎樣使用AutoMapper9.0。 Profile ...
  • Teigha中實體旋轉 代碼: using (var trans = database.TransactionManager.StartTransaction()) { Entity ent = trans.GetObject(entityId, OpenMode.ForWrite) asEntit ...
x