1. 程式人生 > >第一節----第一次使用Redis

第一節----第一次使用Redis

1  執行Redis

        Redis安裝步驟:https://www.jianshu.com/p/e16d23e358c0

        命令列切換到Redis安裝目錄,輸入 redis-server.exe redis.windows.conf

        Creating Server TCP listening socket 127.0.0.1:6379: bind: No error

        解決方法:在命令列中執行

        redis-cli.exe

        127.0.0.1:6379>shutdown

        not connected>exit

        然後重新執行redis-server.exe redis.windows.conf,啟動成功!

        在Redis根目錄下,啟動另外一個視窗,準備輸入Redis的命令

1.1 字串型別

        Redis支援五種資料型別:string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合)。

字串型別設定  SET myKey myValue

獲取字串型別  GET myKey

1.2  鍵值對型別Hash

        Redis hash 是一個鍵值(key=>value)對集合。特別可以儲存Java中的物件。因為Java物件有若干個實體屬性。

        設值語法:HMSET  MapName  KeyA  ValueA   KeyB  ValueB

        取值語法:HGET    MapName KeyName

鍵值對設值  HMSET  myMap  keyA  valueA  keyB  valueB

鍵值對取值  HGET    myMap   keyA

                    HGET    myMap   keyB

1.3  List列表(佇列)

        Java中的List介面的最大特點就是有索引,即有序的。

        Redis中的List型別,它與Java中類似。Redis的List型別的資料,它按照插入順序排序。你可以新增一個元素到列表的頭部(左邊)或者尾部(右邊)。

        設值語法(加入佇列): LPUSH  ListName  Value

        獲取範圍內的佇列的值: LRANGE ListName startIndex  endIndex

        從結果來看,它是預設將新的資料插入到佇列的頭部。

為佇列設定:LPUSH  myList  valueA

                     LPUSH myList  valueB

                     LPUSH  myList   valueC

獲取佇列的指定範圍的值:

                      LRANGE  0  10

獲取佇列頭的元素:

                      LRANGE 0  0 

             

1.4  SET集合

        在Java中,SET介面的實現類是一個不包含重複元素的 collection。以前通過原始碼也發現,HashSet其實就是一個HashMap。所以,SET介面的實現複雜度是O(1)。

        在Redis中,Set是string型別的無序集合。相當於只存放Hash雜湊型別的Key。

        設值語法:SADD  SetName  Value

        取值語法:SMEMBERS   SetName

為SET集合設定: SADD  mySet  ValueA

                              SADD  mySet  ValueB

                              SADD  mySet  ValueC

遍歷所有的SET集合:

                              SMEMBERS  mySet

        若Redis中已經存在此Key,返回0。沒有的話,返回1。那究竟是覆蓋呢,還是插入失敗呢?

        根據結果顯示,好像重複插入沒什麼意義,最終的目的就是讓這個SET集合裡面存在這個KEY。返回值可能表示的是對指集合的影響,所以返回0就不足為奇。如果沒對原結果集產生影響,那麼就可理解為插入失敗。

1.5  ZSET有序的不重複集合

        可大致理解為LinkedHashMap,但是它是按照新增時分配的權重Score排序的。

        每個元素都會關聯一個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

        新增語法:ZADD  SetName  Score  Value

為有序的Set集合插入資料:ZADD  SSet  0  a

                                             ZADD SSet   1  b

                                             ZADD SSet   2  c

根據權重遍歷指定區間的資料:

                                             ZRANGEBYSCORE  SSet   0   10    預設升序,什麼是升序,就是權重越來越大。