一點說明:Redis的數據存儲都是K-V的形式,我們討論的數據類型是指V的數據類型,K的類型都是爲String。
ps:本筆記內容來自尚硅谷課堂-周陽
Redis的五種數據類型:字符串(String)、列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset)。
1、字符串(String)
-
set/get示例:
-
del 示例:
-
append示例:
-
strlen示例:
2、列表(List)
-
lpush/rpush/lrange: lpush是從左邊開始插入的,rpush是從右邊插入的,lrange是輸出某個list索引從開始到結尾的數據,結尾爲-1表示從開始索引到末尾所有的數據。
-
lpop/rpop: lpop是從左邊彈出一個元素,rpop是從右邊彈出一個元素。
-
lindex:通過索引獲得元素,相當於Java中ArrayList調用get()
-
llen:計算數組長度
-
lrem key 刪N個value
-
ltrim key 開始index 結束index,截取指定範圍的值後再賦值給key
-
rpoplpush 源列表 目的列表 : 從右邊彈出源列表的一個元素然後將它插入到目標列表的左邊
-
lset key index value
-
linsert key before/after 值1 值2
值1存在多個值時默認會在第一次出現的地方前後進行插入
3、集合(Set)
集合Set的特性和Java中的set是一樣的,也是不允許有重複的元素,也是無序的
-
sadd/smembers/sismember : sismember 判斷某元素是否是某集合的元素,是返回1,不是返回0
-
scard: 獲取集合裏面的元素個數
-
srem key value 刪除集合中元素
-
srandmember key 某個整數(隨機出幾個數)
-
spop key [count] : 隨機出棧count個元素,默認爲1
-
smove key1 key2 在key1裏某個值 : 作用是將key1裏的某個值賦給key2
-
數學集合類(差集:sdiff,交集:sinter,並集:sunion)
ps:哈希、有序集合的示例待補充,去吃大盤雞了。。。
4、哈希(Hash)
- hset/hget/hmset/hmget/hgetall/hdel
- hlen
- hexists key 在key裏面的某個值的key
- hkeys/hvals
- hincrby/hincrbyfloat
- hsetnx
5、有序集合(Zset)
- zadd/zrange
- zrangebyscore key 開始score 結束score
- zrem key 某score下對應的value值,作用是刪除元素
- zcard/zcount key score區間/zrank key values值,作用是獲得下標值/zscore key 對應值,獲得分數
- zrevrank key values值,作用是逆序獲得下標值
- zrevrange
- zrevrangebyscore key 結束score 開始score