主頁 >  其他 > Redis 介紹學習

Redis 介紹學習

2020-12-16 09:03:38 其他

1、Redis 簡介

Redis 是一個支持資料結構更多的鍵值對資料庫,它的值不僅可以是字串等基本資料

型別,也可以是類物件,更可以是 Set、List、計數器等高級的資料結構,
Memcached 也可以保存類似于 Set、List 這樣的結構,但是如果說要向 List 中增加元素, Memcached 則需要把 List 全部元素取出來,然后再把元素增加進去,然后再保存回去,不 僅效率低,而且有并發訪問問題,

Redis 內置的 Set、List 等可以直接支持增加、洗掉元素的操作,效率很高,操作是原子的,

Memcached 資料存在記憶體中,memcached 重啟后資料就消失;而 Redis 會把資料持久

化到硬碟中,Redis 重啟后資料還存在,
2、Redis 的安裝
redis for windows >=2.8 的版本支持直接安裝為 windows 服務 https://github.com/MicrosoftArchive/redis
如果下載 msi 自動裝完服務,如果下載 zip 需要按照下面的方法安裝為服務: https://raw.githubusercontent.com/MSOpenTech/redis/3.0/Windows%20Service%20Documenta tion.md 

3、redis 的優點:

  1. 1)  支持 string、list、set、geo 等復雜的資料結構,

  2. 2)  高命中的資料運行時是在記憶體中,資料最侄訓是可以保存到磁盤中,這樣服務器重啟之后資料還在,

  3. 3)  服務器是單執行緒的,來自所有客戶端的所有命令都是串行執行的,因此不用擔心并發修改(串行操作當然還是有并發問題)的問題,編程模型簡單;

  4. 4)  支持訊息訂閱/通知機制,可以用作訊息佇列;

  5. 5)  Key、Value 最大長度允許 512M;

4、redis 的缺點:

  1. 1)  Redis 是單執行緒的,因此單個 Redis 實體只能使用一個 CPU 核,不能充分發揮服務器的性能,可以在一臺服務器上運行多個 Redis 實體,不同實體監聽不同埠,再互相組成集群,

  2. 2)  做快取性能不如 Memcached;

5、Memcached 的優點:
       1) 多執行緒,可以充分利用 CPU 多核的性能;

       2) 做快取性能最高;

6、Memcached 的缺點:

  1. 1)  只能保存鍵值對資料,鍵值對只能是字串,如果有物件資料只能自己序列化成 json字串;

  2. 2)  資料保存在記憶體中,重啟后會丟失;

  3. 3)  Key 最大長度 255 個字符,Value 最長 1M,

7、總結
      Memcached 只能當快取服務器用,也是最合適的;Redis 不僅可以做快取服務器(性能沒有 Memcached 好),還可以存盤業務資料,

8、redis 命令列管理客戶端:

       1)直接啟動 redis 安裝目錄下的 redis-cli 即可,不用管惡心的自動提示, 執行 set name yzk,就是設定鍵值對 name=yzk 執行 get name 就是查找名字是 name 的值;  keys *是查找所有的 key  key *n*是查找所有名字中含有 n 的 key

       2) 和 Redis 一樣,Redis 也是不同系統放到 Redis 中的資料都是不隔離的,因此設定 Key 的 時候也要選擇好 Key,
       3) Redis 服務器默認建了 16 個資料庫,Redis 的想法是讓大家把不同系統的資料放到不同 的資料庫中,但是建議大家不要這樣用,因為 Redis 是單執行緒的,不同業務都放到同一個 Redis 實體的話效率就不高,建議放到不同的實體中,

          因此盡量只用默認的 db0資料庫命令列下可以用 select0、select1 這樣的指令切換資料庫,最高為15,試試在不同資料 庫下新建、查詢資料,

       4) 了解的常用的幾個命令就可以,所有對資料的操作都可以通過命令列進行,后面講 的.net 操作 Redis 的驅動其實就是對這些命令的封裝,

9、redis GUI 管理客戶端

     GUI 客戶端非常多,個人推薦使用 RedisDesktopManager安裝后點擊【Connect to Redis Server】連接服務器,展開節點可以看到所有的 Key,雙擊 Key 可以查看 Key 的值,在根節點上點右鍵,選擇 【Console】,這樣就可以輸入命令,

10、.net 操作 Redis

     用 StackExchange.Redis ,而不是 ServiceStack.Redis,因為 StackExchange.Redis 依賴組件 少,而且操作更接近原生的 redis 操作,ServiceStack 封裝的太厲害,而且有過收費的“前科”,

Install-Package StackExchange.Redis
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost:6379")) {

IDatabase db = redis.GetDatabase();//默認是訪問 db0 資料庫,可以通過方法引數指定數 字訪問不同的資料庫

db.StringSet("Name", "abc");

}

支持設定過期時間:db.StringSet("name", "rupeng.com", TimeSpan.FromSeconds(10)) 獲取資料:string s = db.StringGet("Name")如果查不到則回傳 null

Redis 里所有方法幾乎都支持異步,比如 StringGetAsync()、StringSetAsync(),盡量用異步方法,

      注意看到訪問的引數、回傳值是 RedisKey、RedisValue 型別,進行了運算子多載,可以和 string、 byte[]之間進行隱式轉換,

11、Key 操作
       Key 操作:因為 Redis 里所有資料型別都是用 KeyValue 保存,因此 Key 操作針對所有資料型別, KeyDelete(RedisKey key):根據 Key 洗掉;KeyExists(RedisKey key)

      判斷 Key 是否存在,盡量不要用, 因為會有并發問題;KeyExpire(RedisKey key, TimeSpan?  expiry)、KeyExpire(RedisKey key, DateTime? expiry)設定過期時間;
12、資料型別

       Redis 支持的資料結構:string、list、set、sortedset、hash、geo(redis 3.2 以上版本),對應 的 Redis 客戶端里的方法都是 StringXXX、HashXXX、GeoXXX 等方法,

      不同資料型別的操作方 法不能混用,比如不能用 ListXXX 寫入的值用 StringXXX 去讀取或者寫 入等操作,
13、String 型別

      可以用 StringGet、StringSet 來讀寫鍵值對,是基礎操作StringAppend(RedisKey key, RedisValue value):向 Key 的 Value 中附加內容,不存在則新建; 可以用作計數器:db.StringIncrement("count", 2.5);

      給 count 這個計數器增加一個值,如果不存在則從 0 開始加;db.StringDecrement("count",1)計數器減值;獲取還是用 StringGet()獲取字串型別的 值,比如可以用這個來計算新聞點擊量、點贊量,效率非常高,     

private static string XinWen_Prefix = "WWW_XinWen_";

public async Task<ActionResult> Index(int id)

{
using (ConnectionMultiplexer redis = await ConnectionMultiplexer.ConnectAsync("localhost:6379")) {

IDatabase db = redis.GetDatabase();//默認是訪問 db0 資料庫,可以通過方法引數指定數字訪 問不同的資料庫

//以 ip 地址和文章 id 為 key
string hasClickKey = XinWen_Prefix + Request.UserHostAddress + "_" + id;

//如果之前這個 ip 給這個文章貢獻過點擊量,則不重復計算點擊量 if(await db.KeyExistsAsync(hasClickKey)==false)
{

await db.StringIncrementAsync(XinWen_Prefix + "XWClickCount" + id, 1); //記錄一下這個 ip 給這個文章貢獻過點擊量,有效期一天 db.StringSet(hasClickKey, "a", TimeSpan.FromDays(1));

}

RedisValue clickCount = await db.StringGetAsync(XinWen_Prefix + "XWClickCount" + id); XinWenModel model = new XinWenModel();
model.ClickCount = Convert.ToInt32(clickCount);
return View(model);

}

return View(); }

14、list 型別

      Redis 中用 List 保存字串集合, 比如可以把聊天記錄保存到 List 中;商品的物流資訊記錄,也  可以當成雙向佇列或者雙向堆疊用,list 長度是無限,

      ListLeftPush(RedisKey key, RedisValue value)從左側壓堆疊;RedisValue ListLeftPop(RedisKey key) 從左側彈出;

      ListRightPush(RedisKey key, RedisValue value ) 從右側壓堆疊;RedisValue ListRightPop(RedisKey key) 從右側彈出;

      RedisValue ListGetByIndex(RedisKey key, long index)獲取 Key 為 key 的 List 中第 index 個元素的值; long ListLength(RedisKey key) 獲取 Key 為 key 的 List 中元素個數;盡量不要用 ListGetByIndex、 ListLength 因為會有并發問題;,

     如果是讀取而不 Pop,則使用 ListRange:RedisValue[] ListRange(RedisKey key, long start = 0, long stop = -1),不傳 start、end 表示獲取所有資料,指定之后則獲取某個范圍,

      可以把 Redis 的 list 當成訊息佇列使用,比如向注冊用戶發送歡迎郵件的作業,可以在注冊的流 程中把要發送郵件的郵箱放到 list 中,另一個程式從 list 中 pop 獲取郵件來發送,

      生產者、消費者模式,把生產程序和消費程序隔離,

15、set 型別
      如大家所知,set 是一種元素不重復的集合, SetAdd(RedisKey key, RedisValue value)向 set 中增加元素

      bool SetContains(RedisKey key, RedisValue value) 判斷 set 中是否存在某個元素; long SetLength(RedisKey key) 獲得 set 中元素的個數;

      SetRemove(RedisKey key, RedisValue value)從 set 中洗掉元素;

      RedisValue[] SetMembers(RedisKey key)獲取集合中的元素;

      如果使用 set 保存封禁用 id 等,就不用做重復性判斷了,

      注意 set 不是按照插入順序遍歷的,而是按照自己的一個存盤方式來遍歷,因為沒有保存插入的 順序,

16、sortedset
     如果對于資料遍歷順序有要求,可以使用 sortedset,他會按照打分來進行遍歷, SortedSetAdd(RedisKey key, RedisValue member, double score) 在 key 這個 sortedset 中增加member,并且給這個 member 打分,如果 member 已經存在,則覆寫之前的打分;       doubleSortedSetIncrement(RedisKeykey,RedisValuemember,doublevalue) 給key中member這一項增加 value 分;

     double SortedSetDecrement(RedisKey key, RedisValue member, double value):給 key 中 member 這一項減 value 分; 

     SortedSetEntry[] SortedSetRangeByRankWithScores(RedisKey key, long start = 0, long stop = -1,Orderorder=Order.Ascending) 根據排序回傳sortedset中的元素以及元素的打分,start、stop用來分頁 查詢、order 用來指定排序規則,

     測驗:

db.SortedSetIncrement("Hotwords", "test", 1);

db.SortedSetIncrement("Hotwords", "test", 1); db.SortedSetIncrement("Hotwords", "test", 1); db.SortedSetIncrement("Hotwords", "楊中科", 1); db.SortedSetIncrement("Hotwords", "侯寶林", 1); db.SortedSetIncrement("Hotwords", "侯寶林", 1);
SortedSetEntry[] items = db.SortedSetRangeByRankWithScores("Hotwords"); foreach(var item in items)

{
Console.WriteLine(item.Element+"="+item.Score);

}

 RedisValue[] SortedSetRangeByRank(RedisKey key, long start = 0, long stop = -1, Order order =Order.Ascending) 根據打分排序回傳值,可以根據序號查詢其中一部分;

   RedisValue[] SortedSetRangeByScore(RedisKey key, double start = double.NegativeInfinity, doublestop = double.PositiveInfinity, Exclude exclude = Exclude.None, Order order = Order.Ascending, long skip = 0, long take = -1)

    根據打分排序回傳值,可以只回傳 start- stop 這個范圍的打分;

    sortedset 應用場景:

      1) 用戶每搜一次一個關鍵詞,就給這個關鍵詞加一分;展示熱搜的時候就把前 N 個獲取出來就行了;

      2) 高積分用戶排行榜;

      3) 熱門商品;

       4) 給寶寶投票;

17、Hash

      相當于 value 又是一個“鍵值對集合”或者值是另外一個 Dictionary, 沒想到有什么應用場景,

18、Geo 型別

Geo 是 Redis 3.2 版本后新增的資料型別,用來保存興趣點(POI,point of interest)的坐標資訊,

可以實作計算兩 POI 之間的距離、獲取一個點周邊指定距離的 POI, 下面添加興趣點資料,”1”、”2”是點的主鍵,點的名稱、地址、電話等存到其他表中,

db.GeoAdd("ShopsGeo", new GeoEntry(116.34039, 39.94218,"1"));

db.GeoAdd("ShopsGeo", new GeoEntry(116.340934, 39.942221, "2"));

db.GeoAdd("ShopsGeo", new GeoEntry(116.341082, 39.941025, "3"));

db.GeoAdd("ShopsGeo", new GeoEntry(116.340848, 39.937758, "4"));

db.GeoAdd("ShopsGeo", new GeoEntry(116.342982, 39.937325, "5"));

db.GeoAdd("ShopsGeo", new GeoEntry(116.340866, 39.936827, "6"));

GeoRemove(RedisKey key, RedisValue member)洗掉一個點

查詢兩個 POI 之間的舉例:double? dist = db.GeoDistance("ShopsGeo", "1", "5", GeoUnit.Meters);// 最后一個引數為距離單位根據點的主鍵獲取坐標:GeoPosition? pos = db.GeoPosition("ShopsGeo", "1")

獲取一個 POI 周邊的 POI:

GeoRadiusResult[] results = db.GeoRadius("ShopsGeo", "2", 200, GeoUnit.Meters);//獲取”2”這個周邊 200 米范圍內的 POI
foreach(GeoRadiusResult result in results)
{

Console.WriteLine("Id="+result.Member+",位置"+result.Position+",距離"+result.Distance); }

  獲取一個坐標(這個坐標不一定是 POI)周邊的 POI:

GeoRadiusResult[] results = db.GeoRadius("ShopsGeo", 116.34092, 39.94223, 200, GeoUnit.Meters);// 獲 取(116.34092, 39.94223)這個周邊 200 米范圍內的 POI
foreach(GeoRadiusResult result in results)
{

Console.WriteLine("Id="+result.Member+",位置"+result.Position+",距離"+result.Distance);

}

     Geo Hash 原理:http://www.cnblogs.com/LBSer/p/3310455.html

19、Redis 的批量操作

如果一次性操作很多,會很慢,那么可以使用批量操作,兩種方式: 1)幾乎所有的操作都支持陣列型別,這樣就可以一次性操作多條資料:比如

GeoAdd(RedisKey key, GeoEntry[] values)、SortedSetAdd(RedisKey key, SortedSetEntry[] values) 2) 如果一次性的操作不是簡單的同型別操作,那么就要使用批量模式:
IBatch batch = db.CreateBatch();
db.GeoAdd("ShopsGeo1", new GeoEntry(116.34039, 39.94218, "1"));

db.StringSet("abc", "123"); batch.Execute();

會把當前連接的 CreateBatch()、Execute()之間的操作一次性提交給服務器,

20、redis 分布式鎖

     多執行緒中的 lock 等的作用范圍是當前的程式范圍內的,如果想跨多臺服務器的鎖(盡量避免這樣搞),就要使用分布式鎖,

      

RedisValue token = Environment.MachineName;

//實際專案秒殺此處可換成商品 ID

if (db.LockTake("mylock", token, TimeSpan.FromSeconds(10)))//第三個引數為鎖超時時間,鎖占 用最多 10 秒鐘,超過 10 秒鐘如果還沒有 LockRelease,則也自動釋放鎖,避免了死鎖
{

try {

} finally {

db.LockRelease("mylock", token); }

} else {

Console.WriteLine("獲得鎖失敗"); 
}

  

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/235319.html

標籤:其他

上一篇:Mysql—主從復制

下一篇:JDBC

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more