日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

redis 关系数据库怎么转换 和_redis数据库设计(转)

發布時間:2025/3/11 数据库 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis 关系数据库怎么转换 和_redis数据库设计(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

閱讀目錄

redis是什么

redis就是一個存儲key-value鍵值對的倉庫,如何使用redis在于如何理解你需要設計的系統的E-R的模型,然后合理的規劃redis的數據庫結構

場景

我舉一個簡單的消息系統的例子,業務需求:服務器端發送消息給用戶

E-R模型:

1. 用戶(uid,nickname,phone,mood)

2. 消息(mid,title,content,ts)

用戶和消息之間是n:n的關系,一個消息可以發給多個用戶,每個用戶可以擁有多個消息

redis數據庫設計

redis數據庫設計的關鍵在于key的設計,我一般采用固定前綴+唯一后綴的方式,例如:

1. 消息實體是兩層結構,考慮用redis的hash數據結構進行存儲(ps:用基本的string也是沒問題的),key為msg_[$mid],mid類似于mysql表的主key,在當前redis數據庫要保證全局唯一,可使用redis的incr原子操作實現,value可以是array('title' => '標題', 'content' => '內容', 'ts' => '發布時間戳').這樣,每次服務器端產生消息,構造這樣一個key-value的鍵值對即可表示消息本身的內容

2. 用戶實體,因為用戶的信息需要更穩定的持久化存儲,所以建議直接存儲在mysql里,不需要進行遷移到redis中

3. 用戶-消息關系,可以考慮redis的sets數據結構。key為unread_mids_[$uid]和read_mids_[$uid],value為mid的集合。每次消息發送給指定的用戶時,只需要將消息放到對應的集合里即可

這樣就能表示出消息系統對應的E-R模型了

總結

redis數據庫如何使用,關鍵自于你如何設計和理解你要做系統的E-R模型,搞清楚實體之間的關系,在redis里設計相應的key-value鍵值對即可。至于那幾種數據結構,對你設計redis數據庫來說作用不大,只是起到更方便的效果,用memcache一樣可以做到這些。

針對redis的提供的幾種數據結構,我建議別浮在表面只是會調個api,一點技術含量都沒有,建議去看一下源碼實現,推薦鏈接:http://redisbook.com/

總結

以上是生活随笔為你收集整理的redis 关系数据库怎么转换 和_redis数据库设计(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。