Redis-菜鳥學習

来源:http://www.cnblogs.com/my3306/archive/2017/07/24/7230700.html
-Advertisement-
Play Games

1. 特點 1. Redis支持數據的持久化,重啟時可以再次載入使用。 2. Redis除了支持key value類型的數據,還提供了list,set,zset,hash等數據結構的存儲。 3. Redis支持數據備份,master slave模式的數據備份。 2. 優勢 1. 性能極高 讀取速度1 ...


1. 特點

  1. Redis支持數據的持久化,重啟時可以再次載入使用。
  2. Redis除了支持key-value類型的數據,還提供了list,set,zset,hash等數據結構的存儲。
  3. Redis支持數據備份,master-slave模式的數據備份。

2. 優勢

  1. 性能極高 - 讀取速度110000次/s,寫入速度81000次/s。
  2. 豐富的數據類型 - 支持二進位案例的Strings、Lists、Hashes、Sets及Ordered Sets。
  3. 原子 - 所有操作均為原子性,同時支持對幾個操作全並後的原子性執行。
  4. 豐富的特性 - 支持publish/subscribe、通知、key過期等特性。

3. 與其他key-value存儲的不同

  1. 支持更加複雜的數據結構,並提供對他們的原子性操作。Redis的數據類型都是基於基本數據結構。
  2. 運行在記憶體中,但支持數據的持久化。在記憶體中操作複雜的數據結構更加簡單。以緊湊的追加方式進行數據磁碟格式,因為他們並不需要進行隨機訪問。

4. 在Ubuntu下安裝

安裝

$sudo apt-get update
$sudo apt-get install redis-server

啟動

$redis-server

檢查是否啟動

$redis-cli
//輸入ping命令。如果輸出PONG,說明已經成功安裝Redis

5. Redis配置

  1. 配置文件位於Redis安裝目錄下,名為Redis.conf
  2. 可以通過CONFIG命令查看或設置配置項。
  3. 配置參數說明 傳送門
//CONFIG GET 獲取配置項
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
//例如
redis 127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"
//可以使用 * 號獲取所有的配置項
redis 127.0.0.1:6379> CONFIG GET *

//CONFIG SET 設置配置項
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
//例如
redis 127.0.0.1:6379> CONFIG SET loglevel "notice"

6. 數據類型

Redis支持5種數據類型:string(字元串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)。

string類型

  1. 二進位安全的。可以包含任何數據。比如jpg圖片或者序列化的對象。
  2. 一個鍵值最大能存儲512MB的數據。

hash類型

  1. 鍵名對集合。
  2. 是一個string類型的field和value的映射表。特別適合存儲對象。
  3. 每個hash可以存儲 \(2^{32}-1\) 鍵值對。(大約40多億)

list類型

  1. 簡單的字元串列表。
  2. 按照插入順序排序。
  3. 可以在頭部或者尾部添加。
  4. 每個列表最多儲存\(2^{32}-1\)個元素。(大約40多億)

set類型

  1. 是string類型元素的無序集合。
  2. 通過哈希表實現,因此添加、刪除、查找的複雜度為\(O(1)\)
  3. 集合內的元素具有唯一性。
  4. 每個集合最大成員數\(2^{32}-1\)個元素。(大約40多億)

zset類型

  1. 是string類型元素的有序集合。
  2. 每個元素會關聯一個double類型的分數。並通過該分數對集合成員進行排序。
  3. 集合內的元素具有唯一性,但是分數score確可以重覆。

7. Redis命令

  1. 使用redis客戶端。$ redis-cli
  2. 在遠程伺服器上執行命令$ redis-cli -h host -p port -a password

8. Redis鍵(key)

Redis的鍵命令用來管理Redis的鍵。

語法

redis 127.0.0.1:6379> COMMAND KEY_NAME

主要命令

DEL key //刪除一個存在的key。
DUMP key //序列化給定的key,並返回序列化的值。
EXISTS key //檢查key是否存在。
EXPIRE key seconds //設置過期時間。
EXPIREAT key timestamp //設置過期時間,參數為時間戳。
PEXPIRE key milliseconds //設置過期時間,以毫秒計。
PEXPIREAT key milliseconds-timestamp //設置過期時間,時間戳以毫秒計。
KEYS pattern //查找所有符合給定模式(pattern)的key。
MOVE key db //將當前資料庫的key移動到給定的資料庫db當中。
PERSIST key //移除key的過期時間,key將持久保存。

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

-Advertisement-
Play Games
更多相關文章
  • 常用包 框架: yarn add express 資料庫鏈接: yarn add sequelize yarn add mysql2 處理 favicon: yarn add "serve favicon" 紀錄日誌: yarn add "morgan" 生成文檔: yarn add dev "ap ...
  • 恢復內容開始 純html5+css+js實現噠 運行效果: 實現功能: 按鍵W,S,A,D,J分別控制坦克上下左右移動和發射子彈,由於水平有限,還在努力中~目前只實現了對自己坦克行為的控制,只畫了一顆子彈,記錄這顆子彈的坐標軌跡 源碼: 源碼在這裡啦~,只用了兩個文件,眾多不足,還望指出謝謝~~~~ ...
  • 1.首先確定發佈app的所必要選中或者切換的弄好 比如切換環境到 由測試環境切換到正式環境。 2.打發佈包 首先選中Product 然後選中Archive。 3.等待編譯。 4.打包成功 會進入到下麵這個界面。 5.我一般都是選中export 打一個發佈包 然後用application loader ...
  • 第一步:安裝Java 1.下載JDK,選擇適應自己的機型;官網地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.配置環境,問度娘:http://jingyan.baidu. ...
  • Android安裝過程出現問題 一、Eclipse 中 Emulator Control 不能用問題 在官方文檔中發現問題所在(官方文檔說明),在最後一行“The Emulator Control tab, shown in Figure 1, is no longer supported. Use ...
  • 出處:kelvin19840813 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是對博主最大的鼓勵,感謝您的認真閱讀。本文版權歸作者所有,歡迎轉載,但請保留該聲明。 發現decode行轉列之後 , 小數, 負數都會自動抹去 , 需要to_char加工 ...
  • MySQL對於web架構性能的影響最大,也是關鍵的核心部分。MySQL的設置是否合理優化,直接影響到web的速度和承載量!同時,MySQL也是優化難度最大的一個部分,不但需要理解一些MySQL專業知識,同時還需要長時間的觀察統計並且根據經驗進行判斷,然後設置合理的參數。 ...
  • 零、用戶管理: 1、新建用戶: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2、更改密碼: >SET PASSWORD FOR name=PASSWORD('fdddfd'); 3、許可權管理 >SHOW GRANTS FOR name; //查看name用 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...