天天看點

redis學習筆記二(redis的資料類型)

之前在學習的時候我看到了關于redis資料類型的描述,于是就華麗的跳過了這個部分,但是我馬上在之後的學習中遇見了困難,是以在這裡我還是用簡單的篇幅講redis的資料類型從新整理一下,以備不時之需。

String 字元串

這個是redis預設的基本類型,我們之前的關于set和get的操作操作的其實都是這種類型的資料,但是事實上String并不是非得存放String類型的資料,因為這個Stirng是二進制安全的,是以我們其實可以把檔案encode一下變成String進行存儲到redis中來,每個String的value最多能存到512M,是以基本上大部分的檔案什麼的都其實可以直接使用String來進行存儲。

具體的操作執行個體我們在這裡可以直接的略了,和之前的安裝的時候的測試方法一緻

Hash 哈希

在redis中哈希是一種特有的資料類型,基本上可以看作是一個類似于java中的hashMap的東西,是以我們回顧我們在java中的hashmap我們就能發現這個哈希的資料類型需要一下這幾種要素。

我們在這裡先看一個操作執行個體

redis學習筆記二(redis的資料類型)

Java      redis

  HashMap的對象名   myhashtest

  元素鍵值                   name、age、job

  元素内容               zhengfang.sun、24、none

是以說這個hashMap和redis中的hash基本上非常的像,而且就其形式而言非常适合存儲對象,因為對象都是基本上 屬性 - 屬性值以及 方法-方法體這種的類型來構成的,是以也都能夠被hash的鍵值的形式進行存儲。

List(清單)

在redis中清單的性質和我們之前了解到的大概稍微有點差別,他在這裡的List更類似于一個雙頭開口的棧。

首先就是List中其實隻是最簡單的String類型的資料,這個和在Java中存儲任意對象的List有較大差別,其次List隻能支援左端插入或者是右端插入,使用的指令也是PUSH,是以在我的了解裡面這個東西其實有點類似于可以在棧地步插入資料的棧。

以下是我們對于簡單List的操作執行個體

redis學習筆記二(redis的資料類型)

在這個例子中我們能清楚的感覺到最後在我們list中的所有資料的排列順序

頭 4st  3st  the_first  2st尾

是以我們的lrange從左端開始讀取的時候會呈現上面測試的時候的這種情況,其中我們在後面加的0 10是指輸出的下标從0到10的所有元素

注:在這裡的lrange是一個專有的名稱,并不存在和他對應的rrange

Set(集合)

在redis中的set的概念有點特别,就是一個内容不能重複的String的集合,是以在這裡我們可以通過簡單的例子來明确這個概念。

redis學習筆記二(redis的資料類型)

這裡我們可以看到我們在第二次插入myset03的時候就出現了傳回是0的情況,插入不成功,同時在最後的周遊中我們看到也隻有一個mytest03的元素

zset(sorted set:有序集合)

有序集合顧名思義就是帶序号的集合,是以在這個集合裡面和我們之前看到的set的差別就是這個集合在插入資料的時候同時需要給定一個序号

Zadd 集合名稱 序号String内容

而我們的周遊使用的也是zRangeByScore就是按照序号升序排列

redis學習筆記二(redis的資料類型)

繼續閱讀