redis需要考慮需要哪些keys以及對應的value使用合適的資料型別進行儲存。在retwis例子中,我們需要users,user的粉絲列表, user的關注使用者列表等等。
和傳統的關係型資料庫一樣,每個使用者有乙個唯一的id關聯,使用incr建立唯一的id。
除了這些值以外,有時候我們希望根據使用者名稱找到使用者的id,所以每增加乙個使用者資訊,我們需要存使用者的id。因為redis沒法根據值來查詢key。
hset和hmset的區別就是,hmset允許設定多個field/value。
使用者的粉絲和關注都使用sets集合儲存,因為需要是唯一的集合,並且可以使用sorted sets有序集合儲存,這樣可以根據關注或被關注的時間進行排序。
接下來先再新增乙個使用者
使用者2關注使用者1
使用者1增加乙個粉絲
通過zrange命令查詢所有的關注物件
zrange key start stop
stop為-1表示查到集合中倒數第乙個數,-2查到倒數第二個數,以此類推。
接下來使用list來儲存使用者的更新,並且按照更新的時間倒序,以及使用lrange來進行翻頁查詢。
為了避免將session存在應用服務裡,因為應用服務可以部署在不同的機器上,所以可以將session放在redis裡,持久儲存。
如果使用者認證成功,需要將生成的session新增到使用者hash結構裡。同時,如果我們需要根據session得到使用者id。
這樣就基本上能滿足twitter-clone例子中的資料儲存
redis學習筆記 二
1.redis中命令大小寫不敏感 2.redis的啟動 sudo service redis server start redis cli 啟動客戶端 exists key 判斷乙個key是否存在,存在返回1,不存在返回0 del key 刪除乙個key,或者一系列的kye del key1 key...
Redis學習筆記(二)
pom座標 dependency groupid redis.clients groupid artifactid jedis artifactid version 2.7.0 version dependency jar包如下 commons pool2 2.3.jar jedis 2.7.0.j...
redis學習筆記(二)
上次簡單的介紹了一下redis的優點以及安裝過程,今天就學習一下的redis五種資料型別 和memcached一樣的資料型別,memcached只支援這一種,乙個key對應乙個value,string型別是二進位制安全的,所以redis的string可以包含任何資料,比如或者系列化的物件。乙個鍵最大...