在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GaussDB(for Redis) 游戲實踐:玩家下線行為上報

jf_94205927 ? 來源:jf_94205927 ? 作者:jf_94205927 ? 2024-03-28 22:03 ? 次閱讀

為保護未成年人的身心健康,2007 年國家推出網絡游戲防沉迷系統,對未成年人的游戲時間進行限制,游戲廠家需要及時感知用戶的下線時間并上報。Redis 是游戲數據庫重要選型之一,在基于開源 Redis 實現以上功能時,感知用戶下線行為延遲較大,導致上報時間不準確。華為云 GaussDB(for Redis)作為一款企業級游戲數據庫,具備卓越的企業級能力,能及時上報用戶下線行為,并被廣泛應用于排行榜等多種業務場景。

基于 Redis 的用戶下線上報實現

實現用戶下線上報能力的常見方式

游戲廠商使用 Redis key 過期功能,結合鍵空間通知功能(keyspace notification),可以實現用戶下線上報,常見使用方式如下:

(1)用戶登錄后,為每一個用戶 key 設置一個過期時間(3-5 分鐘);

(2)游戲客戶端,定期每分鐘上報一次心跳,收到心跳后,服務端重置游戲用戶 key 的過期時間;

(3)為避免網絡波動造成的未及時上報,若 5 分鐘內,收到心跳,則重置過期時間;若未收到,將觸發 key 過期,系統判定用戶下線。

因此,Redis 鍵空間通知功能要及時感知 key 過期,以確保上報時間的準確性。

Redis 鍵空間通知功能

Redis 鍵空間通知,允許用戶通過訂閱頻道或模式,以接收 key 的修改、過期等通知。對于每個 key 的修改,鍵空間通知都會發送兩種不同類型的事件。以 DB0 用戶 mykey 過期為例,Redis 會發送兩條消息,相當于執行了兩個 publish 命令:

PUBLISH__keyspace@0__:mykeyexpire

復制代碼

通過訂閱頻道__keyspace@0__:mykey 可以接收0號數據庫中所有修改鍵 mykey 的事件, 而訂閱頻道__keyevent@0__:expire 則可以接收0號數據庫中所有執行 expire 命令的鍵。其中以 keyspace 為前綴的頻道被稱為鍵空間通知,而以 keyevent 為前綴的頻道則被稱為鍵事件通知。

可以通過命令 CONFIG SET notify-keyspace-events [parameter]來開啟或者關閉鍵空間通知功能,若 parameter 為空則表示關閉該功能,若不空則開啟。通常將參數設置為“AKE”,表示發送所有類型通知。

通過以下命令,可以訂閱 DB0 所有過期的用戶 key。

redis-cli--csvpsubscribe'__keyevent@0__:expire'

復制代碼

GaussDB(for Redis) VS 開源 Redis

過期鍵空間通知延時對比

Redis 規格:都采用 4GB 的規格

測試步驟

使用 memtier_benchmark 預置 10w 個 key

使用客戶端定期 key 過期事件

使用 python 腳本,對其中的 3w 個 key 設置 10s 過期時間

分別在有業務流量和無業務流量場景,統計收到 3w 個 key 過期的通知耗時

測試結果:

可以看出,在有無業務流量場景下,GaussDB(for Redis)僅需 9 秒即可完成全部 key 過期的上報,而社區 Redis 需要 4 分鐘左右才能完成上報,嚴重影響用戶下線行為上報的準確性。

原理分析

開源 Redis 鍵空間通知功能采用了惰性刪除和定期刪除兩種策略,即在訪問時進行過期檢查,同時后臺以一定頻率執行定期檢查任務,可以通過修改配置文件 redis.conf 的 hz 選項來調整這個頻率。每次過期任務會按以下流程進行刪除操作:

1. 從設置了過期時間的 key 的集合中隨機檢查 20 個 key;

2. 刪除檢查中發現的所有過期 key;

3. 如果檢查結果中 25%以上的 key 已過期,則開始新一輪任務。

可以注意到,開源 Redis 并不是一次運行就檢查所有的庫中所有的鍵,而是隨機檢查一定數量的鍵,從而導致上報延時長。而 GaussDB(for Redis)后臺有一個實時線程會對 key 進行持續掃描,及時上報過期 key,也不會影響前臺寫操作。

GaussDB(for Redis)是一款超越開源 Redis 的企業級 KV 數據庫,在游戲場景中,除了被應用在游戲玩家下線場景,還被廣泛應用在玩家數據存儲、排行榜、好友關系、消息推送等場景。其采用存算分離的架構,既能滿足游戲業務對高并發的性能指標要求,又能降本增效,深受游戲開發者的青睞。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3543

    瀏覽量

    43337
  • Redis
    +關注

    關注

    0

    文章

    382

    瀏覽量

    11266
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Redis 再次開源!

    “ ?Redis 現已采用 AGPLv3 開源許可證。? ” Redis CEO 的 Blog 以下是 Redis CEO Rowan Trollope 的 Blog: 像 AWS 和 GCP 這樣
    的頭像 發表于 05-06 18:26 ?165次閱讀

    redis三種集群方案詳解

    Redis中提供的集群方案總共有三種(一般一個redis節點不超過10G內存)。
    的頭像 發表于 03-31 10:46 ?428次閱讀
    <b class='flag-5'>redis</b>三種集群方案詳解

    Redis實戰筆記

    在目前的技術選型中,Redis 儼然已經成為了系統高性能緩存方案的事實標準,因此現在?Redis 也成為了后端開發的基本技能樹之一。 ? 基于上述情況,今天給大家分享一份?杰哥?親筆撰寫的內部
    的頭像 發表于 02-09 09:12 ?271次閱讀
    <b class='flag-5'>Redis</b>實戰筆記

    華為云 Flexus X 加速 Redis 案例實踐與詳解

    Redis 加速鏡像,更是為開發者提供了極大的便利。本文將詳細介紹如何利用華為云 Flexus X 實例自帶的 Redis 鏡像,快速部署并配置 Redis,以及通過實際案例展示其便捷性和高效性。 一、華為云 Flexus
    的頭像 發表于 01-23 17:52 ?237次閱讀
    華為云 Flexus X 加速 <b class='flag-5'>Redis</b> 案例<b class='flag-5'>實踐</b>與詳解

    Redis Cluster之故障轉移

    1. Redis Cluster 簡介 Redis Cluster 是 Redis 官方提供的 Redis 集群功能。 為什么要實現 Redis
    的頭像 發表于 01-20 09:21 ?685次閱讀
    <b class='flag-5'>Redis</b> Cluster之故障轉移

    羅技利用亞馬遜云科技多項云服務推出羅技G魔方掌機 為全球玩家提供沉浸式掌機游戲體驗

    的快速軟件開發與迭代升級。羅技G魔方掌機大幅提升了掌機的便捷性和可玩性,通過支持多平臺云游戲服務以及串流服務,讓玩家不在游戲主機和電腦前也能暢玩3A級游戲大作。同時得益于云端技術,
    發表于 01-07 11:56 ?207次閱讀
    羅技利用亞馬遜云科技多項云服務推出羅技G魔方掌機 為全球<b class='flag-5'>玩家</b>提供沉浸式掌機<b class='flag-5'>游戲</b>體驗

    華為云Flexus X實例,Redis性能加速評測及對比

    隨著云計算技術的飛速發展,Redis 作為一種高性能的內存數據庫,在各種應用場景中發揮著越來越重要的作用。為了滿足不同用戶對 Redis 性能的高要求,華為云推出了 Flexus X 實例,并提供了
    的頭像 發表于 12-29 15:47 ?388次閱讀
    華為云Flexus X實例,<b class='flag-5'>Redis</b>性能加速評測及對比

    Redis緩存與Memcached的比較

    Redis和Memcached都是廣泛使用的內存數據存儲系統,它們主要用于提高應用程序的性能,通過減少對數據庫的直接訪問來加速數據檢索。以下是對Redis和Memcached的比較,涵蓋了它們的一些
    的頭像 發表于 12-18 09:33 ?454次閱讀

    ChatGPT 在游戲開發中的創新應用

    、流暢的對話。在角色扮演游戲(RPG)或冒險游戲中,這可以用于創建動態對話系統。傳統的游戲對話系統通常是預設的,玩家的選擇有限,而ChatGPT可以生成更多樣化的對話,讓每個
    的頭像 發表于 10-25 18:05 ?945次閱讀

    游戲手柄震動馬達的技術特點分析

    游戲手柄震動馬達在現代電子游戲中扮演著重要的角色,其技術特點直接影響到玩家游戲體驗。游戲手柄震動馬達不僅為
    的頭像 發表于 10-09 11:12 ?780次閱讀
    <b class='flag-5'>游戲</b>手柄震動馬達的技術特點分析

    萬兆光網:國產游戲黑神話悟空背后的網絡新引擎

    隨著國產3A游戲“黑神話悟空”的火爆,玩家們在享受游戲帶來的視覺盛宴時,也遭遇了幀率不穩定、時延顯著等性能瓶頸,即便升級高性能顯卡也難以根治。這一困境凸顯了當前網絡速度與質量對于游戲
    的頭像 發表于 09-29 14:50 ?944次閱讀

    遠程控制技術的應用 游戲玩家都在關注黑神話 探討遠程怎么玩“悟空”3A游戲

    昨天(20日) 游戲玩家討論的話題只有一個——《黑神話:悟空》 ,相關話題迅速引爆社交媒體。撥玩家紛紛曬出好評,稱這款現象級產品正式開啟國產3A游戲 元年。 根據國游暢銷榜統計,上線首
    的頭像 發表于 08-21 15:53 ?470次閱讀

    基于 FPGA 的飛機大戰游戲系統設計

    游戲四個選項。開始游戲后,玩家可以用游戲手柄方便的控制飛機在屏幕上向任意方向移動,通過躲避子彈和射擊敵機得分,在屏幕左上角可以看到當前生命和得分。 1.2 應用領域最近的一些復古
    發表于 07-24 20:03

    IP地址和網絡游戲

    在現代網絡游戲中,IP地址不僅用于服務器分配,還能針對性進行玩家匹配與優化網絡延遲。本文將探討IP地址在網絡游戲中的具體應用。 服務器分配 全球服務器分布: 網絡游戲需要在全球范圍內提
    的頭像 發表于 07-10 12:00 ?570次閱讀

    亞馬遜云科技助力所思科技打造爆款游戲《猛獸派對》 保障全球百萬玩家在線暢玩

    Animals》(中文名稱《猛獸派對》)。亞馬遜云科技的技術與解決方案幫助所思科技大幅提高了運維效率、降低了成本,并優化了《猛獸派對》游戲匹配機制,極大提升了玩家游戲體驗。《猛獸派對》在全球范圍內集結了來自美國、歐洲、亞洲、南
    發表于 05-13 13:48 ?264次閱讀
    亞馬遜云科技助力所思科技打造爆款<b class='flag-5'>游戲</b>《猛獸派對》 保障全球百萬<b class='flag-5'>玩家</b>在線暢玩
    主站蜘蛛池模板: 天堂在线观看免费视频 | 国产黄色小视频网站 | 免费人成观看在线网 | 亚洲免费在线观看 | 天堂在线中文无弹窗全文阅读 | 一区三区三区不卡 | 天堂中文资源网 | 直接看的黄色网址 | 亚洲资源在线视频 | 天天插天天操天天干 | 日韩在线一区二区 | 天堂在线中文无弹窗全文阅读 | 久久婷五月综合 | 男男生子大肚play做到生 | 狠狠色丁香婷婷综合小时婷婷 | 中文字幕在线乱码免费毛片 | 狠狠色丁香久久婷婷综合丁香 | 日本免费人成在线网站 | 在线天天干 | 久久精品免费看 | 草逼网址 | 四虎永久免费网站免费观看 | 日韩欧美卡通动漫在线观看 | 免费高清在线爱做视频 | 日本黄色免费网站 | 福利片免费一区二区三区 | 天天插天天 | 黄色软件合集 | 一区二区三区在线观看视频 | 九九黄色网 | 夜夜夜操 | 天天摸夜夜摸成人免费视频 | 特一级毛片| 午夜小视频在线播放 | 黄视频网站在线看 | 男子扒开美女尿口做羞羞的事 | 日本一区不卡在线观看 | 日韩毛片免费看 | 女bbbbxxxx毛片视频丶 | 种子天堂bt磁力在线资源 | 丁香五月缴情综合网 |