Redis資料類型的常用API以及使用情境

來源:互聯網
上載者:User

標籤:分數   key   增加   浮點數   索引值   http   個數   pop   persist   

 一、通用命令

1、keys  遍曆出所有的key

一般不在生產環境使用

 

2、dbsize key的總數

 

3、exists key

 

4、del key  刪除指定key-value

 

5、expire key secods  設定多少秒到期

ttl  還剩多少秒到期

 persist 取消到期時間

6、type 返回key的類型

 

 

 二、單線程

一個次只能執行一個命令

拒絕長慢命令(keys等)

為什麼單線程還這麼快

1、純記憶體(主要)

2、非阻塞IO

3、避免線程切換和競態消耗

 

三、資料類型

1、字串

類型:可以存字串、整型、二進位、json等

大小:可以存512M

情境:緩衝、計數器

命令:

1.1、get、set、del

1.2、set k v 不管k是否存在,都設定

       setnx k v    k不存在才設定

       set k v xx    k存在才設定

1.3、mset 大量設定

       mget 批量擷取

 

1.5

getset key newvalue   設定新的key並返回舊value

append key value    將value追加到舊的value

strlen key   返回字串的長度(注意中文)

1.6

incrbyfloat 增加浮點數

getrange   擷取字串制定下標所有的值

setrange    設定指定下標所對應的值

1.7、適合做計數器,單進程無競爭

incr    自增1,如果key不存在為1

decr   自減1,如果key不存在為-1

incrby 自增k,如果key不存在為k

decrby 自減key,如果key不存在為-k

使用情境:緩衝應用

 

 2、雜湊

一個鍵對應多個索引值的結構,可以理解為小redis

雜湊的API操作都是以h開頭

2.1、hset、hget、hdel

 

2.2

hexists  key是否存在field

hlen      key中field的總數

2.3

hmget  批量擷取

hmser   大量設定

 2.4

hgetall

 2.5、hsetnx、hincrby、hincrbyfloat

 

使用情境

統計每個使用者個人首頁的訪問量

hincrby user:1:info pageview count

緩衝儲存視頻基本資料

 

編程對比:

第一種:將整體資料序列化存進字串

第二種:將資料分別存進字串

第三種:將資料存進雜湊

 

 4、列表

有序、可重複、左右兩邊可以插入彈出

 

列表的API都以L開頭

4.1、增

rpush  從右邊插入

lpush   從左邊插入

linsert  key before|after value newvalue在指定的值前後插入資料

 

4.2、刪

lpop  從左彈出

rpop  從右彈

lrem key count value 根據count值,從列表中刪除所有與balue相等的值

 

 

 

 

 

 

 4.3、查

lrange

 

 

 lindex 

llen 

4.4、改

lset

 

 

4.5、 查漏補缺

blpop

brpop

 

4.6、使用情境

微博時間軸

 4.7、TIPS

1、棧

2、隊列

3、有固定數量的列表

 

 

 5、集合

 集合內不能重複、無序、支援集合間操作

 

 

5.1、集合內

 

 

 

使用情境

可以用在點贊、抽獎中

 

 5.2、集合間

 

使用情境:

共同關注、共同粉絲 

 

6、有序集合

特點:

API

6.1、zadd  添加元素

6.2、zrem 刪除元素

6.3、zscore 擷取分數

6.4、zincrby   增加或減少分數

 

6.5、zcard     返回元素總個數

 

執行個體:

6.6、zrange  返回指定索引範圍內升序元素

 

6.7、zrangebyscore  返回制定分數範圍的升序元素

 

 6.8、zermrangebyrank

6.9、zremrangbyscore  刪除指定分數的升序元素

 

 

  使用情境:熱門排行榜

 

Redis資料類型的常用API以及使用情境

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.