Redis 的經常使用命令

Redis 經常使用命令

Redis 的數據類型

一些命令須要結合 redis 的數據類型來講。
Redis 4.0 以前有5種數據類型,分別是:字符串(string)、散列(hash)、列表(list)、集合(set)、有序集合(zset)。
在 4.0 版本,Redis 新加了一種 stream 的類型。暫且先不說,之後會新開文章具體講解。redis

基本知識:數組

  1. 數據類型不支持嵌套,即全部的類型的元素只能是字符串,不能是散列和集合或者有序集合。
  2. 除了字符串以外,每種數據類型的命令都有一個開頭。
    1. 散列(h)
    2. 列表(l)
    3. 集合(s)
    4. 有序集合(z)
    5. stream(x)

字符串

Redis 的字符串使用了 Redis 本身實現的是一個字符串結構叫簡單動態字符串:SDS,simple dynamic string
Redis 中的字符串的最大存儲是 512M。
而且能夠看成數字來使用的。好比 incr、incrby、decr、decrby 都是基於數字的值進行操做的。咱們能夠經過 incr 來實現一個計數器。或者是自增數字發生器。數據結構

散列

散列的底層是用字典實現的。而且其就是一個字典結構。能夠構成: field:value 的格式。
以下圖所示:
.net

列表

列表底層是使用雙向鏈表實現的。經過列表能夠實現隊列功能。
經過如下命令能夠經過列表實現數組的功能:3d

lindex key index 
lset key index value

rpoplpush 能夠實現原子性地將一個數據從表尾放到另外一個或者本身的表頭。code

集合

Redis 中的集合與數學上的集合具備相同的性質,無序且重複。而且 Redis 提供了 diff、inter、union 三種集合操做的命令。blog

有序集合

有序集合使用跳躍表實現。集合是無序的,而且值不能重複。集合這種數據類型對於不少場景是不適用的。好比說,排行榜。因而 Redis 提供了一種有序集合類型。有序集合是一個每一個元素都有一個分值表明在集合中的排行的一種數據結構。若是分值相同,那麼按照元素的字典序進行排序。
什麼是跳躍表,能夠參見這篇文章:http://blog.jobbole.com/111731/排序

相關文章
相關標籤/搜索