Redis數據類型簡介

来源:http://www.cnblogs.com/xinlj/archive/2016/01/04/5097879.html
-Advertisement-
Play Games

Redis 數據類型Redis支持五種數據類型:string(字元串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。String(字元串)string是redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個key對應一個val...


Redis 數據類型

 


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


String(字元串)

string是redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個key對應一個value。

string類型是二進位安全的。意思是redis的string可以包含任何數據。比如jpg圖片或者序列化的對象 。

string類型是Redis最基本的數據類型,一個鍵最大能存儲512MB。

實例

  1. redis 127.0.0.1:6379> SET name "shouce.ren"
  2. OK
  3. redis 127.0.0.1:6379> GET name
  4. "shouce.ren"

在以上實例中我們使用了 Redis 的 SETGET 命令。鍵為 name,對應的值為shouce.ren。

註意:一個鍵最大能存儲512MB。


Hash(哈希)

Redis hash 是一個鍵值對集合。

Redis hash是一個string類型的field和value的映射表,hash特別適合用於存儲對象。

實例

  1. redis 127.0.0.1:6379> HMSET user:1 username shouce.ren password shouce.ren points 200
  2. OK
  3. redis 127.0.0.1:6379> HGETALL user:1
  4. 1) "username"
  5. 2) "shouce.ren"
  6. 3) "password"
  7. 4) "shouce.ren"
  8. 5) "points"
  9. 6) "200"
  10. redis 127.0.0.1:6379>

以上實例中 hash 數據類型存儲了包含用戶腳本信息的用戶對象。 實例中我們使用了 Redis HMSET, HEGTALL 命令,user:1 為鍵值。

每個 hash 可以存儲 232 - 1 鍵值對(40多億)。


List(列表)

Redis 列表是簡單的字元串列表,按照插入順序排序。你可以添加一個元素導列表的頭部(左邊)或者尾部(右邊)。

實例

  1. redis 127.0.0.1:6379> lpush shouce.ren redis
  2. (integer) 1
  3. redis 127.0.0.1:6379> lpush shouce.ren mongodb
  4. (integer) 2
  5. redis 127.0.0.1:6379> lpush shouce.ren rabitmq
  6. (integer) 3
  7. redis 127.0.0.1:6379> lrange shouce.ren 0 10
  8. 1) "rabitmq"
  9. 2) "mongodb"
  10. 3) "redis"
  11. redis 127.0.0.1:6379>

列表最多可存儲 232 - 1 元素 (4294967295, 每個列表可存儲40多億)。


Set(集合)

Redis的Set是string類型的無序集合。

集合是通過哈希表實現的,所以添加,刪除,查找的複雜度都是O(1)。

sadd 命令

添加一個string元素到,key對應的set集合中,成功返回1,如果元素以及在集合中返回0,key對應的set不存在返回錯誤。

  1. sadd key member

實例

  1. redis 127.0.0.1:6379> sadd shouce.ren redis
  2. (integer) 1
  3. redis 127.0.0.1:6379> sadd shouce.ren mongodb
  4. (integer) 1
  5. redis 127.0.0.1:6379> sadd shouce.ren rabitmq
  6. (integer) 1
  7. redis 127.0.0.1:6379> sadd shouce.ren rabitmq
  8. (integer) 0
  9. redis 127.0.0.1:6379> smembers shouce.ren
  10.  
  11. 1) "rabitmq"
  12. 2) "mongodb"
  13. 3) "redis"

註意:以上實例中 rabitmq 添加了兩次,但根據集合內元素的唯一性,第二次插入的元素將被忽略。

集合中最大的成員數為 232 - 1 (4294967295, 每個集合可存儲40多億個成員)。


zset(sorted set:有序集合)

Redis zset 和 set 一樣也是string類型元素的集合,且不允許重覆的成員。

不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

zset的成員是唯一的,但分數(score)卻可以重覆。

zadd 命令

添加元素到集合,元素在集合中存在則更新對應score

  1. zadd key score member

實例

  1. redis 127.0.0.1:6379> zadd shouce.ren 0 redis
  2. (integer) 1
  3. redis 127.0.0.1:6379> zadd shouce.ren 0 mongodb
  4. (integer) 1
  5. redis 127.0.0.1:6379> zadd shouce.ren 0 rabitmq
  6. (integer) 1
  7. redis 127.0.0.1:6379> zadd shouce.ren 0 rabitmq
  8. (integer) 0
  9. redis 127.0.0.1:6379> ZRANGEBYSCORE shouce.ren 0 1000
  10.  
  11. 1) "redis"
  12. 2) "mongodb"
  13. 3) "rabitmq"

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

-Advertisement-
Play Games
更多相關文章
  • 在應用Unix/Linux時,我們一般想讓某個程式在後臺運行,於是我們將常會用 & 在程式結尾來讓程式自動運行。比如我們要運行mysql在後臺: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程式並不想mysqld一樣,這樣我們就需要nohu...
  • 2月4日消息,微軟Windows 10消費者預覽版發佈後,許多Windows 7用戶都忍不住下載嘗鮮,但部分用戶升級前卻可能並未備份Windows 7。針對這種情況,微軟特地推出了一個Windows 7恢復網站,讓用戶能回到Windows 7。不過最新消息顯示,該Windows 7恢復網站目前無法....
  • 最新win7系統32位電腦城快速裝機穩定版 V2016年1月全能裝機版 V2016.1(32位)與之前的系統相比,更註重智能性,在安裝方式上也更加精簡,操作步驟簡便,更適合不會COMS設置和GHOST的用戶。最新更新的win7系統地址http://www.xitongma.com/Windows7/...
  • 標簽:mount,umount概述在上一章增加linux操作系統空間中已經使用過了mount命令對分區進行掛載,這一章詳細介紹掛載管理,該命令涉及的知識點也挺多的而且也還比較重要,是需要掌握的一個命令。掛載分區mount基本語法mount [參數] /dev/sdb1(需要掛載的分區) /sdb1....
  • 這次藉助zynq的內嵌的XADC來採集zynq內部的一些參數:•VCCINT:內部PL核心電壓•VCCAUX:輔助PL電壓•VREFP:XADC正參考電壓•VREFN:XADC負參考電壓•VCCBram:PL BRAM電壓•VCCPInt:PS內部核心電壓•VCCPAux:PS輔助電壓•VCCDdr...
  • 標簽:fdisk分區概述我們管理的伺服器可能會隨著業務量的不斷增長造成磁碟空間不足的情況,在這個時候我們就需要增加磁碟空間,本章主要介紹如何使用fdisk分區工具創建磁碟分區和掛載分區,介紹兩種情況一種是對原有的磁碟的剩餘空間增加分區,第二種是對新添加的磁碟進行分區操作。擴展空間查看當前分區信息fd...
  • 1、進入管理員控制台停止mysql服務:net stop mysql;2、進入mysql的安裝路徑,如我的安裝路徑為C:\Program Files\MySQL\MySQL Server 5.5,打開my.ini文件,找到[mysqld],在該行下麵添加skip_grant_tables,也就是通知...
  • Redis 性能測試Redis 性能測試是通過同時執行多個命令實現的。Redis性能測試主要是通過src文件夾下的redis-benchmark來實現(Linux系統下)語法redis 性能測試的基本命令如下:redis-benchmark [option] [option value]實例以下實例...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...