akira
你一个游戏能有多少人 多少数据哦。。只看数据规模的话,redis 肯定是完全足够了的
documentzhangx66
羡慕楼主,居然不用 RMDB 也能撑起业务。其实 RMDB 能不用就别用,毕竟麻烦。
另外,Redis \ MongoDB 这种,没遇到极端情况与场景,不会触发其不稳定问题,用起来当然好。
不然地球上最强数据库 Oracle 为啥能卖这么贵。
hoopan
之前也思考过这个问题,貌似没有这种数据库,还是要根据业务场景搭配使用。高并发场景,必然是 Redis 这类内存数据库,缺点是容量小、非关系型,目前只能放一些热数据。
dqzcwxb
jetcache 做好本机缓存+远程缓存,远程缓存可以是多层
tairan2006
redis lab 里面有支持 sql 的扩展,做好落盘的话,直接拿来当 db 用也行。
不过游戏场景,有时候 redis 都扛不住……
bthulu
有的, mysql 有内存数据库, 可以当缓存用
nothingistrue
如果你要知道缓存是干什么的,大概就不会这样问了。直接读取最终存储效率不够,于是弄个缓存提高读取效率。所以,只会出现因为数据库效率够了不要缓存的情况,不会出现数据库和缓存合一的情况。
hst001
小项目没有问题,压力大了还是会回到 DB + Cache 那一套
Martens
可不可以这样:玩家登陆直接把数据读到内存里,离线后把数据落盘
litguy
你们数据库存什么东西
如果只是简单记录
理论上 sqlite 都能有足够高 qps
大部分数据是可以通过 os 的 page cache 命中的
stevefan1999
這不就是 NoSQL 嗎
zhangxzh
传统点的方案, Oracle TimesTen Application-Tier Database Cache
wxdiy
游戏这么多年基本都是这么用的。用 C++基本都是进程内存缓存数据,有变化时或者定时同步到数据库。这种架构不好动吧,还是直接用这稳定的架构谢谢业务逻辑吧
whileFalse
aws dynamodb 是一种 nosql 。
aws 官方支持内存缓存,启用后延迟从毫秒级缩短到微秒级,并且 api 和一致性不变,对应用层面是透明的。