1. 程式人生 > >淺析Redis五種資料型別及簡單使用

淺析Redis五種資料型別及簡單使用

php-高階程式設計QQ群:490910618
一.Redis是什麼

        Redis是高效能Key-Value資料庫,屬於非關係型資料庫的一種。

二.Redis支援的資料型別

        共支援5種資料型別:string,list,hash,set,zset

        1.string (字串型別)

                string可以是字串,數字。實際儲存在redis中的型別為string,遇到數值計算時,才會轉換成int型別去做運算。

                最常用:

                    SET 設定鍵儲存的值  如 SET name zhangshengnan/ SET age 24

                    GET 獲取鍵儲存的值  如  GET name / GET age

                    DEL 刪除鍵值對  如  DEL name / DEL age

                下面這些是對鍵儲存的值的一些操作:

                    APPEND 追加資料到鍵儲存的值後面 如 APPEND age 9(age原本為24,執行本條後變為249

                    INCR 將鍵儲存的值+1 如 INCR age  (age原本為24,執行本條後變為25)

                    DECR 將鍵儲存的值-1 如 DECR age  (age原本為24,執行本條後變為23)

                    INCRBY 將鍵儲存的值+number 如 INCRBY age 10(age原本為24,執行本條後變為34)

                    DECRBY 將鍵儲存的值-number 如 DECRBY age 10 (age原本為24,執行本條後變為14)

                下面這些事對鍵的一些操作:

                    EXISTS 檢查鍵是否存在 如 EXISTS name

                    EXPIRE 設定某鍵的過期時間 如 EXPIRE name 3600 (單位秒)

                    PEXPIRE 設定某鍵的過期時間 如 PEXPIRE name 36000000(單位毫秒)

                    PERSIST 刪除過期鍵 如 PERSIST name   

                    TTL 獲取剩餘到期時間 如 TTL name(單位秒)

                    PTTL 獲取剩餘到期時間 如PTTL name(單位毫秒)

                    RANDOMKEY 從redis返回隨機鍵 如 RANDOMKEY

                    RENAME 更改鍵名 如 RENAME name familyname

                    TYPE 返回鍵儲存的值的資料型別 如 TYPE age

        2. list (列表)

                列表可以理解成把單個string型別練成連結串列,redis的list支援正反向查詢(即雙向連結串列),list可做佇列,也可做棧使用,主要的用法就是push和pop。

                最常用:

                    RPUSH 將值推到列表右端 如 RPUSH student zhangshengnan

                    LPUSH 將值推到列表左端 如 LPUSH student zhangshengnan

                    RPOP 將列表最右端的值彈出並返回 如 RPOP student

                    LPOP 將列表最左端的值彈出並返回 如 LPOP student

                較常用:

                    LLEN 獲取列表長度 如 LLEN student

                    LRANGE 獲取列表上指定範圍的所有值 如 LRANGE student 0 -1 (這裡0 到-1中的-1指最後一個元素)

                    LINDEX 獲取列表上指定位置的值 如 LINDEX student 0(這裡返回student中的第一個值即:zhangshengnan)

        3.hash (雜湊雜湊)

                 這個非常容易理解,hash的key對應的是一個map,map裡面的結構是field,value對,數字字串都可以。

                 最常用:

                    HKEYS 獲取hash中所有的key 如 HKEYS student

                    HEXISTS 判斷key對應field是否存在 如 HEXISTS student name

                    HSETNX 判斷key對應field不存在時賦值value 如 HSETNX student name zhangshengnan

                    HSET 設定hash中key對應field的值 如 HSET student name zhangshengnan

                    HGET 獲取hash中key對應field的值 如 HGET student name

                    HGETALL 獲取hash中key對應的多有field,value對 如 HGETALL student

                    HDEL 刪除hash中key對應field及值 如 HDEL student name

        4.set (集合)

                顧名思義,就是一些不重複的值,放在一起的合集。

                最常用:

                    SADD 新增某元素到集合中 如 SADD student zhangshengnan

                    SREM 刪除集合中指定的值 如 SREM student zhangshengnan

                    SMEMBERS 獲取key對應的所有值 如 SMEMBERS student

                    SISMEMBER 判斷某值是否存在於集合中 如 SISMEMBER student zhangsan

                    SPOP 隨機彈出一個集合中的值 如 SPOP student

        5.zset (有序集合)

                類似與集合,不同之處為鍵被稱為member,多一個score用來排序。

                最常用:

                    ZADD 將一個有score的元素新增到集合 如 ZADD student 100 zhangshengnan

                    ZSCORE 獲取某元素分數 如 ZSCORE student zhangshengnan

                    ZRANGE 獲指範圍內元素按score從小到大排序 如 ZRANGE student 0 -1 withscores

                    ZREVRANGE 獲取範圍內元素按socre從大到小排序 如 ZREVRANGE student 0 -1 withscores

                    ZRANGEBYSCORE 獲取指定範圍socre的元素 如 ZRANGEBYSCORE student 0 200 withscores

                    ZREM 刪除有序集合中指定的元素 如 ZREM student zhangshengnan