Redis學習筆記(二) Redis介紹

2022-09-16 18:03:16 字數 2779 閱讀 3798

redis,一種高效能的key-value資料庫,並提供多種語言的api。它通常稱為資料結構伺服器,因為值可以是字串,雜湊,列表,集合和有序集合等型別。

redis特點:

redis資料型別:

redis支援五種資料型別:string,hash,list,set和zset(sorted set,有序集合)。

string型:string型別是二進位制安全的,可以包含任何資料,比如jpg或序列化的物件。乙個鍵最大能儲存512m。一般做一些複雜的計數功能的快取。

hash:是乙個string型別的field和value的對映表,hash特別適合用於儲存物件。每個hash可以儲存2^32-1個鍵值對(40億)。這裡的value存放的是結構化物件,比較方便的就是操作其中的某個字段。當做單點登入的時候,就是用這種資料結構儲存使用者資訊。以cookieid作為key,設定30分鐘為快取過期時間,模擬session效果

list(列表):列表是簡單的字串列表,按照插入順序排序。列表最多可以儲存2^32-1個元素(40億)。使用list的資料結構,可以做簡單的訊息佇列的功能。利用lrange命令,做基於redis的分頁功能,效果極佳。

127.0.0.1:6379> lpush bigfamily yaohuiqin

(integer) 1

127.0.0.1:6379> lpush bigfamily yaohuiqin

(integer) 2

127.0.0.1:6379> lpush bigfamily weixihui

(integer) 3

127.0.0.1:6379> lpush bigfamily mama

(integer) 4

127.0.0.1:6379> lpush bigfamily baba

(integer) 5

127.0.0.1:6379> lrange bigfamily 0 10

1) "baba"

2) "mama"

3) "weixihui"

4) "yaohuiqin"

5) "yaohuiqin"

set:是string型別的無序不重複集合,集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是o(1)。set堆放的是一堆不重複的集合,所以可以做區域性去重功能。利用交集、並集、差集等操作,可以計算共同喜好,全部的喜好,自己獨有的喜好等功能

127.0.0.1:6379> sadd setfamily yaohuiqin

(integer) 1

127.0.0.1:6379> sadd setfamily weixihui

(integer) 1

127.0.0.1:6379> sadd setfamily mama

(integer) 1

127.0.0.1:6379> sadd setfamily baba

(integer) 1

127.0.0.1:6379> sadd setfamily didi

(integer) 1

127.0.0.1:6379> sadd setfamily yaohuiqin

(integer) 0

127.0.0.1:6379> sadd setfamily weixihui

(integer) 0

127.0.0.1:6379> smembers setfamily

1) "weixihui"

2) "yaohuiqin"

3) "mama"

4) "baba"

5) "didi"

zset:有序集合,string元素的型別集合,不允許有重複。不同的元素都會關聯乙個double型別的分數。redis正式通過分數來對集合中的成員進行從小到大的排序。注意,zset的成員唯一,但是分數可以重複。多了乙個權重引數score,集合中的元素能夠按照score進行排序,可以做排行榜應用,取top  n操作。

127.0.0.1:6379> zadd zsetfamily  0 yaohuiqin

(integer) 1

127.0.0.1:6379> zadd zsetfamily 2 weixihui

(integer) 1

127.0.0.1:6379> zadd zsetfamily 3 baba

(integer) 1

127.0.0.1:6379> zadd zsetfamily 0 mama

(integer) 1

127.0.0.1:6379> zrangebyscore zsetfamily 0 100

1) "mama"

2) "yaohuiqin"

3) "weixihui"

4) "baba"

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可以包含任何資料,比如或者系列化的物件。乙個鍵最大...