[無排版]redis基本數據結構的應用

OJ開發受阻,先了解一下新玩意redis,只列出最基本的用法,做爲我我的的瞭解html

如下實際應用來自Redis開發與運維redis

redis用法緩存

❤字符串運維

1.緩存htm

redis最經常使用的應用就是做爲緩存層爲存儲層MySQL減負blog

if(redis.get(str) != null)...事務

2.共享Sessionci

暫時用不着開發

3.計數rem

return redis.incr(key)

❤哈希

1.替換SQL持久化

書P36

法1 多個key

按照key=列,value=值,再用一個更大的key來映射多個列

set user:1:name tom

set user:1:age 13

set user:1:city beijing

set user:2.....

法2

set user:1:serializae(userInfo)

法2的缺點是每一個屬性不能單獨更新

法3:多個field

hmset user:1 name tom age 23 city beijing

❤列表

1.MQ

lpush+brpop

2.文章分頁

假設文章使用哈希存儲

hmset article:1 title a timestamp b content c

hmset article:2....

添加則

lpush user:1:articles article:1 article:5

分頁

atricles = lrange user:1:articles 0 9

for article in {articles}
hgetall {article}

3.有限集合 lpush+ltrim

4.Stack+Queue

❤集合

1.標籤

sadd user:1:tags tag1 tag2 tag6

sadd tag1:users user:1 user:2

(以上須要在同一事務進行)

刪除則同理用srem

計算共同感興趣標籤

sinter user:1:tags user:3:tags

❤有序集合

注意API是score member的形式

1.排行榜!!

mike得到3個贊

zadd user:ranking:today 3 mike

以後再得到1個贊用zincrby

取消贊 zren user:ranking:today mike

展現獲贊Top10

zrevrangebyrank user:ranking:today 0 9

展現用戶信息和分數

hgetall user:info:tom

zscore user:ranking:today tom

zrank user:ranking mike

額外的整合資料:
http://www.javashuo.com/article/p-vwbytyju-er.html

相關文章
相關標籤/搜索