Redis學習筆記(一):Redis的數據類型

  之前筆者常常接觸的數據庫是關係型數據庫,其中MySQL接觸居多。近年來NoSQL興起,各種新型數據庫不斷誕生,redis就是NoSQL中的一種熱門數據庫。
  注:此類文章僅僅作爲筆者的學習和閱讀積累,若有出錯之處,敬請諒解。

一、redis的數據類型

  對於redis數據庫的介紹,這裏就不說了,大家可自行百度,簡單來說redis就是以“鍵值對”形式存儲數據的數據庫。首先作爲一種數據庫,對於存儲的數據,其必然存在相應的數據存儲類型定義,筆者先從redis的存儲數據類型說起。
  redis數據庫存在5種數據類型,分別爲:字符串(String)、列表(list)、集合(set)、散列(hash)、有序集合(zset)。
 

(1)字符串

  字符串在redis甚至在各大數據庫中,都作爲最基本的數據類型,可存儲的值包括字符串、整數或者浮點數。
  redis操作字符串數據常用命令:
命令
說明
基礎用法
set
設置存儲給定鍵的值
set [key] [value]
get
獲取給定鍵的值
get [key]
del
刪除給定鍵的值
del [key]
 

(2)列表

  可將redis的列表看作一種“雙向隊列”,該數據結構允許在其前後兩端添加/刪除元素。
  redis操作列表數據常用命令:
命令
說明
基礎用法
lpush
將給定值插入列表前端
lpush [key] [value]
lpop
從列表前端彈出並返回一個值
lpop [key]
rpush
將給定值插入列表後端
rpush [key] [value]
rpop
從列表後端彈出並返回一個值
rpop [key]
lindex
獲取列表給定索引上的單個元素值
lindex [key] [index]
lrange
獲取列表給定範圍中的所有元素值
lrange [key] [startIndex] [endIndex]
 

(3)集合

  redis和集合和列表都可存儲多個字符串,區別在於列表可存儲多個相同的字符串,而集合保證存儲的元素的唯一性。集合存儲元素的方式是無序的。
  redis操作集合數據常用命令:
命令
說明
基礎用法
sadd
將給定元素添加進集合中
sadd [key] [value]
srem
刪除集合中的給定元素
srem [key] [value] 
sismember
檢查給定元素是否存在於集合中
sismember [key] [value]
smembers
返回集合中的所有元素
smembers [key]
 

(4)散列

  redis的散列的值可以存儲多個鍵值對的映射,鍵無序且不可重複。
  redis操作散列數據常用命令:
命令
說明
基礎用法
hset
將給定的鍵值對添加到散列中
hset [key] [field] [value]
hget
獲取指定散列鍵的值
hget [key] [field]
hdel
刪除散列中指定的鍵(連帶值)
hdel [key] [field]
hgetall
獲取散列中的所有鍵值對
hgetall [key]
 
 

 (5)有序集合

  有序集合和散列一樣用於存儲鍵值對信息,鍵和散列的要求一樣,不同的是有序集合的值被稱爲“分值(score)”,分值必須是浮點數。有序集合既可以根據鍵訪問成員,也可以根據分值來訪問成員。有序集合的鍵值對按照分值大小進行排序。
  redis操作有序集合數據常用命令:
命令
說明
基礎用法
zadd
將給定鍵值對添加到集合中
zadd [key] [score] [field]
zrem
刪除集合中指定的鍵(連帶值)
zrem [key] [field]
zrange
獲取集合中指定索引範圍的鍵值對
zrange [key] [startIndex] [endIndex](可選“withscores”參數輸出分值)
zrangebyscore
獲取集合中指定分值範圍的鍵值對
zrangebyscore [key] [minScore] [maxScore]
 
 

  關於五種數據類型以及Redis的更多操作命令,可到此網站下進行查詢和了解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章