聊聊redis的數據結構的應用

本文主要研究一下redis的數據結構的應用redis

string

  • 最經常使用的就是incr操做,好比能夠用來維護用戶在某個抽獎活動的剩餘抽獎次數
  • setnx方法能夠用來實現分佈式鎖

hashmap

  • 能夠用來存儲session,做爲分佈式session的一個實現方案
  • 能夠用來存儲用戶購物車,value值存儲的key爲物品,value爲其數量

set

  • set能夠用來存儲每一個標籤對應的文章id
  • 也能夠用來存儲每一個文章的已投票用戶id,經過add返回值能夠判斷該值以前是否已經存在

zset

  • zset能夠用來存儲文章的得票數,使用得票數做爲score,使用zset排序得出投票最高的前N篇文章
  • 或者用來存儲最近登陸的用戶id,使用時間做爲score,使用zset排序得出最近登陸的前N個用戶id
  • 也能夠存儲用戶最近瀏覽的物品,使用時間做爲score,使用zset排序得出用戶最近瀏覽的前N個物品
  • 也能夠存儲物品最近瀏覽的用戶,使用時間做爲score,使用zset排序得出最近瀏覽該物品的前N個用戶

list

  • 能夠做爲簡單的消息隊列,經過list的lpush以及brpop做爲消息隊列的入隊及消費的操做

hyperloglog

  • 用來粗略統計網站的每日UV

geo(底層使用zset)

  • 使用geo來存儲poi信息,好比存儲門店的經緯度,以後能夠根據半徑查詢附件的門店信息

bitmaps(底層是string結構)

  • 用來統計用戶每日是否登錄過

小結

redis之因此比memcache更爲流行主要是因爲其強大的數據結構及其提供的操做,豐富的數據結構在特定的場景給咱們提供了諸多便利,好好合理利用其數據結構特性,是用好redis的前提。segmentfault

doc

相關文章
相關標籤/搜索