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