1. 程式人生 > >redis資料庫結構設計

redis資料庫結構設計

    之前遊戲開發服務端都是用純c++來寫,現在很多寫遊戲伺服器越來越傾向指令碼語言,因為用c++來寫一些邏輯的確是痛苦之極,當然如果追求效率的還是用c/c++實現更好。

最近時間自己通過研究瞭解雲風寫的skynet框架學習了lua,研究skynet其實是想把這框架用到公司現在遊戲專案裡替換掉現在用的一個純c++框架,今天看完了裡面的登入模組,用到使用者資料,所以想簡單把資料庫設計一下,之前用的是ttserver,現在改用redis來替代,參考了雲風一篇部落格,初步設計也算是照搬吧(之後慢慢改進,記錄下模板,以後給自己參考)。

玩家賬號資訊(key-value,Key以分號分割組成,空格後是value值):(中括號裡的為主鍵值)
account:count id                (作為玩家id號的遞增)
account:[id]:password password  (string型別,密碼)
account:[id]:nickname nickname  (string型別,暱稱)
account:email:[email] id        (string 玩家id)
account:[id]:email email        (string型別,email)
account:[id]:roles set(id)      (set型別,玩家帳號下的角色id集合)
玩家角色資訊
role:count id                   (作為玩家角色id號的遞增)
role:[id]:data hash(info)       (hash型別,玩家資料)
      *name string
      *gold number
      ......
......


以上簡單結構,以後待補充吧。

相關推薦

redis資料庫結構設計

    之前遊戲開發服務端都是用純c++來寫,現在很多寫遊戲伺服器越來越傾向指令碼語言,因為用c++來寫一些邏輯的確是痛苦之極,當然如果追求效率的還是用c/c++實現更好。 最近時間自己通過研究瞭解雲風寫的skynet框架學習了lua,研究skynet其實是想把這框架用到公

雲風開發筆記(2) Redis資料庫結構設計

使用者系統使用 email 來做使用者名稱,但在資料庫中的唯一標識是一個 uid 。使用者應該允許修改登陸名(使用者很可能更換 email)。使用者的身份識別是用 id 來定位的。所以,在資料庫中就應該有如下幾組 Key : account:count idaccount:userlist set(id)a

redis資料庫結構

一 全域性命令 1.1 檢視所有的key keys * 1.2key的總數 dbsize 1.3 檢查key是否存在 exists username 1.4 刪除key del password 1.5key過期,超過時間自動刪 expi

資料庫結構設計(邏輯設計和物理設計

1、資料庫結構設計的步驟 需求分析:全面瞭解產品設計的儲存需求 邏輯設計:設計資料的邏輯儲存結構 物理設計:根據所用的資料庫特點進行表結構設計                   關係型資料庫:

Redis資料庫結構與讀寫原理

此文已由作者趙計剛薪授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 1、資料庫結構 每一個redis伺服器內部的資料結構都是一個redisDb[],該陣列的大小可以在redis.conf中配置("database 16",預設為16),而我們所有的快取操作

動態表單的資料庫結構設計的三種方案

1.一個表單對應資料庫的一張或多張物理表(主從表),這種設計在很多業務的情況下,其資料庫的物理表會不斷膨脹,同時,當修改表單時,其對應的物理表結構也需要修改,當物理表有很多資料時,改變物理表scheme會鎖表,導致線上應用無法訪問這些表。(類似於我們公司的編目管理) 2

Redis 儲存結構設計

Base 2.8.7Redis是一個包含了很多Key-Value對的大字典,這個字典支援的Value非常豐富,可以為字串、雜湊表、列表、集合和有序集,基於這些型別豐富的value,擴展出了功能強大的操作,例如hmset、lpush、sadd等字典字典是Redis最基礎的資料結

Redis資料庫結構介紹

首先Redis是採用字典結構以健值對形式進行存取的 當我們查詢2的時候就查出了對應的 color,name,price屬性所對應的值, 如果這裡我們要想多加一個屬性怎麼辦? id為1的增加了date的值,那麼對於2和3來說date欄位值是冗餘的,可想而知當不同的資料需要

redis資料庫設計例項

本文介紹如何使用redis設計一個小的微博系統資料庫(該例子來源於redis官網文件)。對於關係型資料庫,設計資料庫通常等同於設計表、模式等。對於redis我們是不需要這些的,所以我們只需要設計我們程式中的資料結構用什麼key、用哪種value表示就足夠了。我們首先要設計的

Redis資料庫結構和持久化

Redis資料庫,持久化 資料庫 Redis伺服器將所有的資料庫都儲存在伺服器狀態redis.h/redisServer結構的

資料庫結構設計原則

先談談我這些年趟過的資料庫的坑: 同義多詞。例如:在訂單表中申請單號用appseetserialno,而在支付日誌表中用appno。 同詞多義。例如:渠道這個欄位,可以用channel表示,在委託表中表示請求的來源渠道,eg:安卓、IOS、官網;在支付日誌表中表示支付的

Spring Cloud微服務架構實現+Guava快取+redis+資料庫設計+微服務原理改造房產銷售

Spring Cloud微服務架構實現+Guava快取+redis+資料庫設計+微服務原理改造房產銷售 一、分散式服務框架的發展 1.1 第一代服務框架   代表:Dubbo(Java)、Orleans(.Net)等   特點:和語言繫結緊密 1.2 第二代服務框架   代表:Spring Clo

Django_xAdmin線上教育平臺(一)之專案結構資料庫設計以及xadmin的配置

django專案的目錄結構:   dj_education資料夾:         settings.py:django專案的全域性配置         url.py:url配置  templates資料夾:存放html檔案  manage.py:專案啟動的檔案

資料庫結構設計

資料庫:ads 資料庫模型類基類:BaseModel class BaseModel(models.Model):     """模型類基類"""     create_time = models.DateTimeField(auto_now_add=True, verb

Redis的安裝與配置及表結構設計

一、Redis的安裝與配置 https://www.cnblogs.com/M-LittleBird/p/5902850.html 二、Redis伺服器和客戶端啟動 cd c:\redis redis-server redis.windows.conf redis-cli -h

輕鬆精通資料庫管理之道——運維巡檢之三(結構設計

前言   做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。   本系列旨在解決一些常見的困擾: 不知道巡檢哪些東西 不知道怎麼樣便捷體檢 機器太多體檢麻煩 生成報告困難,無法直觀呈現結果   前面兩篇對伺服器軟硬體配置、資料

億級資料量高併發下資料庫水平切分的結構設計-02

1.基本概念:2.如使用者中心的單key型資料:    資料結構如:User(uid, login_name, passwd, sex, age, nickname, …);     需根據uid,login_name的查詢條件;    傳統分庫模型的設計以及問題:     

【VIP視訊網站專案三】專案框架搭建、專案路由配置、資料庫結構設計

一、專案路由的設計 視訊網站前臺頁面路由設計 路由 請求方法 模板 作用 / GET Index.html

億級資料量高併發下資料庫水平切分的結構設計-01

很多網際網路業務,隨著資料量的逐步增加,資料庫逐漸成為系統的瓶頸。主從同步讀寫分離的架構方案只能提升資料庫的讀效能,對單庫資料量的膨脹,以及寫效能的瓶頸並不能夠很好解決。此時資料庫水平切分技術孕育而生,不同的業務場景下該如何進行水平切分,切分過程中需要注意的技術點,切分後遇到新的問題及解決方案是怎樣的,特此5

寫文章 資料庫雜談之:如何優雅的進行表結構設計

資料庫表結構設計作為後端軟體開發不可或缺的一環,是每個後端工程師都會經歷的過程。筆者也多次經歷過這樣的過程,也嘗試過多種不同的設計方案,也從一些優秀的框架中學到不少,但並沒有發現相關的文章對其進行總結。所以本文嘗試把筆者看到的、學到的總結下來,希望對閱讀本文的讀者有所啟發。 表結構設計主要有兩個目的,一是