Redis系列之數據類型

2020-09-15 豬豬學java

上節我們介紹Redis的安裝和部署,這節我們就來正式步入學習Redis的過程,今天我們主要講講Redis中支持的數據類型。Redis支持數據類型有以下5種:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合),下面我們將一一介紹。


String(字符串)

string是redis最基本的類型:一個key對應一個value,一個key最大能存儲512MB;

string類型是二進位安全的:意思是redis的string可以包含任何數據。比如jpg圖片或者序列化的對象 ,為什麼說S聽類型是二進位安全的呢?這是由於Redis內部對String的定義是一個byte[],因此也是可以包含任何數據了;

Hash(哈希)

Redis hash 是一個鍵值對集合;

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

將一個對象類型存儲在Hash類型裡要比存儲在String類型裡佔用更少的內存空間,並方便存取整個對象;

List(列表)

list類型是一個鍊表結構的集合,其主要功能有push,pop、獲取元素等,更詳細的說,list類型是一個雙向鍊表的結構,我們可以通過相關操作進行集合的頭部或者尾部添加和刪除元素,list的設計非常簡單,既可以作為棧又可以作為隊列。滿足大多數需求;

Set(集合)

set集合是string類型的無序集合;

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

對集合我們可以取交集、併集、差集;


zset(sorted set:有序集合)

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

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

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

相關焦點

  • redis系列-基礎操作和數據類型
    Windows版本的redis伺服器只要點擊redis-server.exe即可啟動。但是客戶端的啟動需要我們熟悉一些命令行的輸入。命令行這種模式的工具我們一般需要學那些命令呢?其實命令行的使用可以以下四點來歸納功能性命令清除屏幕信息幫助信息查閱退出指令以下簡單介紹幾個redis
  • Redis詳解:sets數據類型及操作
    系列文章:  Redis詳解:strings數據類型及操作  Redis詳解:hashes數據類型及操作  Redis詳解:lists數據類型及操作  Redis的set是string類型的無序集合。set元素最大可以包含(2的32次方)個元素。
  • redis數據類型使用場景_redis 五種數據類型的使用場景 - CSDN
    > HashSetsorted_set --> TreeSetString類型redis 數據存儲格式redis自身是一個Map類型的存儲方式,其中所有的數據都是採用key:value的形式存儲我們討論的數據類型指的是存儲的數據的類型,也就是value部分的類型,key部分永遠都是字符串
  • Redis數據類型及場景應用
    一、 redis 特點所有數據存儲在內存中,高速讀寫提供豐富多樣的數據類型:string、 hash、 set、 sorted set、bitmap、hyperloglog提供了 AOF 和 RDB 兩種數據的持久化保存方式,保證了 Redis 重啟後數據不丟失Redis 的所有操作都是原子性的,還支持對幾個操作合併後的原子性操作,支持事務通常我們都把數據存到關係型資料庫中
  • Redis數據類型知識分享
    字符串類型是redis最基礎的數據結構,首先鍵是字符串類型,而且其他幾種結構都是在字符串類型基礎上構建的,2. 所以字符串類型能為其他四種數據結構的學習尊定基礎。3. 字符串類型實際上可以是字符串4. (簡單的字符串、複雜的字符串(xml、json)、數字(整數、浮點數)、二進位(圖片、音頻、視頻)),5. 但最大不能超過512M。
  • Redis詳解:lists數據類型及操作
    系列文章:  Redis詳解:strings數據類型及操作  Redis詳解:hashes數據類型及操作  Redis的list類型其實就是一個每個子元素都是string類型的雙向鍊表。鍊表的最大長度是(2的32次方)。我們可以通過push,pop操作從鍊表的頭部或者尾部添加刪除元素。這使得list既可以用作棧,也可以用作隊列。
  • Redis入門教程:特性及數據類型的操作
    【IT168 技術】雖然Redis已經很火了,相信還是有很多同學對Redis只是有所聽聞或者了解並不全面,下面是一個比較系統的Redis介紹,對Redis的特性及各種數據類型及操作進行了介紹。是一個很不錯的Redis入門教程。
  • Redis的String類型的數據結構
    很多用過redis的同事都知道redis的5種基本數據結構。String、List、Hash、Set、zset。少部分同事會知道Redis中的Bitmap、Geo、HyperLogLog以及布隆過濾器。Redis這些數據類型的數據結構是怎麼設計的呢?人人都說redis對內存優化到了極致,具體是怎麼優化的呢?
  • 《Redis入門指南》第1集:Redis的5種數據類型
    我們知道數據是需要存到資料庫中的,資料庫分兩種,一種是關係資料庫,一種是非關係資料庫。作為PHP開發來說,關係資料庫最長用到的是mysql,非關係資料庫經常打交道的是redis。持久化存儲跟關係資料庫不同,redis的數據是存儲在內存中,這也讓讀取數據的性能更好。
  • Redis怎麼實現查找附近的人之數據類型Geospatial
    前面我們已經把五大數據類型講完了,今天我開始講redis特殊數據類型Geospatial,地理位置的存儲,這個是數據類型可以實現朋友定位,兩個地方之間的距離,搜索附近的人等。具體操作就是將指定的地理空間位置(緯度、經度、名稱)添加到指定的key中,這些數據將會存儲到sorted set然後使用GEORADIUS或者GEORADIUSBYMEMBER命令對數據進行半徑查詢計算出範圍內的元素和元素之間的距離。
  • 每天五分鐘,成就redis大神之Zset數據類型
    Zset類型有序集合和集合一樣也是string類型元素的集合,且不允許重複的成員。不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。有序集合的成員是唯一的,但分數(score)卻可以重複。
  • 一文搞定Redis五大數據類型及使用場景
    字符串字符串類型是Redis最基礎的數據結構,字符串類型可以是JSON、XML甚至是二進位的圖片等數據,但是最大值不能超過512MB。1.1 內部編碼Redis會根據當前值的類型和長度決定使用哪種內部編碼來實現。字符串類型的內部編碼有3種:int:8個字節的長整型。embstr:小於等於39個字節的字符串。
  • Redis系列之安裝配置
    它是以Key-value 形式存儲,非關係型數據結構伺服器。鍵可以包含:(string)字符串,哈希,(list)鍊表,(set)集合,(zset)有序集合。這些數據集合都支持push/pop、add/remove及取交集和併集以及更豐富的操作,redis支持各種不同的方式排序,為了保證效率,數據都是緩存在內存中,它也可以周期性的把更新的數據寫入到磁碟或者把修改操作寫入追加到文件中。
  • redis 數據類型,string底層結構,穿透,擊穿,雪崩,數據一致性
    一,redis的數據類型 string Hash List Set zset,string的存儲結構是什麼?這種結構的優點:防止數據溢出:假如不是這種sds結構存儲,redis是用C寫的,所以我們每次存儲數據的時候先申請空間,再存儲數據。如果空間不夠,但是存入的數據較大就會溢出到相鄰的空間裡面,就好比我們先挖坑,再放水,如果有一個坑水放多了就會溢出到相鄰的坑裡面。sds每次更新數據都會提前把坑大小給挖好,直接放數據就行。
  • 分享redis中除5種基礎數據類型以外的高級數據類型
    眾所周知,在redis中的數據類型有String(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)五種。但在這5種之外還有高級數據類型。今天和大家介紹下常用的高級數據類型:1、HyperLogLog。
  • redis數據類型及api操作,建議收藏
    1.stringstring是redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個key對應一個value。string類型是二進位安全的。意思是redis的string可以包含任何數據。比如jpg圖片或者序列化的對象 。
  • redis五種數據類型及使用場景
    它支持的數據類型很豐富,如字符串、鍊表、集 合、以及散列等,並且還支持多種排序功能。二、Redis的數據類型 Redis 是一種高級的 key-value 的存儲系統,其中key值是二進位安全的,這意味著可以用任何二進位序列作為key值,從形如」foo」的簡單字符串到一個JPEG文件的內容都可以。空字符串也是有效key值。
  • Redis系列之-初探Redis
    /opt/redis-6.0.6.tar.gz/redis.conf myconfig(6)修改redis的默認啟動方式為後臺啟動將redis.conf中的daemonize屬性修改為yes(2)redis默認使用第0個數據,可以使用select進行切換數據,dbsize命令查看數據大小
  • 每天五分鐘,成就Redis大神之數據類型HASH
    今天講redis中的hash數據類型,其實這種類型是Map的集合,相當於key-map。使用的java的同學應該都使用這樣子的數量類型 Map<String,Map<String,Value>>,hash類型就是這種結構。
  • 面試官經常問的Redis幾種數據類型的用法和應用場景整理好了
    1、字符串1.1 介紹string 字符串類型是Redis中最為常用和基礎的存儲類型,是一個由字節組成的序列,他在Redis中是二進位安全的,也可以認為string字符串數據類型能夠接收任何格式的數據,像JPEG圖像數、Json等,是標準的key-value,一般來存字符串,整數和浮點數