首页 新闻 搜索 专区 学院

关于手游服务端架构,缓存,redis的问题

0
[已解决问题] 解决于 2021-12-24 18:36

之前使用本地缓存,但是本地缓存无法搭建分布式服务器,打算用redis代替本地缓存,本地缓存的好处是存什么数据结构,取出来就是什么结构,比如游戏中最常见的道具或者装备,都是一个列表,在缓存里就是一个List<>类型。

但是用redis后,我一直在纠结用string还是用hash,string就是把整个道具列表换成json字符串存进去,用hash就是一条数据=一个道具数据的json字符串。

用string的话,取出来就是一个整体,对他添加删除或对其中一条修改,然后再整体存进去,这样底层代码会简单一点,但是这样每次都要整个取出来,整个存进去,第一是数据流量大,会不会有性能问题,第二是每次要整个转json字符串或转对象,会不会有性能问题。

用hash的话,对单条数据操作时性能会比较好,但是底层代码会比较复杂,还有需要整个数据时就要对每一条进行转json字符串或转对象。

两个各有优缺点,所以很久纠结,选择了一种方式等到项目上线之后要改的话就太麻烦了,另外说一下我用的数据库是mongodb

拖鞋王子的主页 拖鞋王子 | 初学一级 | 园豆:37
提问于:2021-05-20 12:37
< >
分享
最佳答案
0

string确实有性能问题,看你的数据量了,数据量大的话,还是用hash存,就是写的时候麻烦一点,避免以后频繁改动

奖励园豆:5
不知道风往哪儿吹 | 小虾三级 |园豆:1986 | 2021-05-20 15:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册